/* Approved customer SaaS baseline. Loaded only by crafprint-app pages. */
.production-page .kanban-lane[data-status="delayed"] .kanban-card { background:#fff1f2; border-color:#dc3545; border-left:4px solid #c62838; }
.production-page .kanban-lane[data-status="delayed"] .kanban-card:hover { background:#ffe4e7; border-color:#b42332; }
.production-page .status-delayed { background:#b42332; color:#fff; }
.production-page .kanban-lane[data-status="delayed"] .lane-header { color:#b42332; }
:root { --bg:#fff; --card:#fff; --text:#243042; --muted:#667085; --border:#e2e6ec; --purple:#94146b; --pink:#a85488; --blue:#587998; --mint:#538d78; --soft-purple:#f6edf3; --shadow:0 2px 8px #10182804; }
body { font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; background:var(--bg); }
h1 { font-size:27px; font-weight:600; letter-spacing:-.035em; } h2 { font-size:19px; } h3 { font-size:16px; }
a { text-decoration:none; } button,input,select,textarea { font:inherit; }
:focus-visible { outline:2px solid #94146b; outline-offset:3px; }
button { cursor:pointer; } button:disabled { cursor:not-allowed; opacity:.55; }
.sidebar { position:fixed; inset:0 auto 0 0; width:232px; min-width:232px; height:100dvh; padding:22px 14px 14px; border:0; border-right:1px solid var(--border); border-radius:0; background:#fff; backdrop-filter:none; box-shadow:none; z-index:50; }
.sidebar .brand { padding:0 10px 18px; margin:0; }
.sidebar .brand img { width:172px; height:auto; }
.sidebar .nav { gap:2px; overflow-y:auto; padding-right:4px; }
.sidebar .nav a { padding:8px 10px; min-height:35px; border-radius:5px; font-size:13px; font-weight:450; color:#4c5869; gap:10px; background:transparent; box-shadow:none; }
.sidebar .nav a:hover { background:#f5f6f8; color:#273548; }
.sidebar .nav a.active { color:#86155f; background:#f7edf4; font-weight:550; }
.sidebar .nav-section-title { font-size:10px; font-weight:600; letter-spacing:.1em; color:#8a929f; margin:18px 10px 5px; padding:0; }
.sidebar .nav-icon { width:17px; height:17px; color:#7c8695; font-size:14px; background:none; }
.nav-unavailable { display:flex; justify-content:space-between; gap:8px; padding:7px 10px 7px 37px; color:#7d8593; font-size:13px; }
.nav-unavailable small { font-size:10px; color:#7d7180; background:#f3f1f4; padding:1px 5px; border-radius:3px; }
.app { margin-left:232px; padding:28px 30px; width:calc(100% - 232px); max-width:none; min-width:0; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; padding:0; border:0; background:none; box-shadow:none; }
.eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:5px; }
.page-subtitle { font-size:13px; color:var(--muted); margin-top:5px; }
.panel,.stat-card,.form-card,.card,.integration-card { border:1px solid var(--border); border-radius:8px; padding:20px; box-shadow:none; background:#fff; }
.primary-btn,.soft-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:34px; border-radius:5px; padding:7px 12px; font-size:13px; font-weight:500; line-height:1.4; box-shadow:none; white-space:normal; }
.primary-btn { background:#94146b; color:white; border:1px solid #94146b; }
.soft-btn { background:white; color:#465368; border:1px solid #dce1e8; }
.primary-btn:hover { background:#7c115a; } .soft-btn:hover { background:#f5f6f8; border-color:#bcc5d1; }
input,select,textarea { border:1px solid #ccd3dd; border-radius:5px; padding:8px 10px; background:white; color:var(--text); min-width:0; max-width:100%; }
.resource-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-bottom:16px; }
.resource-toolbar label { display:grid; gap:4px; font-size:12px; }
.resource-toolbar input[type=search] { min-width:180px; flex:1; }
.table-scroll { overflow-x:auto; max-width:100%; }
.resource-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.resource-table th { background:#f8f9fb; color:#637083; font-size:11px; font-weight:600; white-space:nowrap; }
.resource-table th,.resource-table td { padding:11px 12px; border-bottom:1px solid #edf0f3; }
.resource-table td a { color:#86155f; }
.resource-table tbody tr:hover { background:#fcfcfe; }
.resource-table td .soft-btn { font-size:12px; min-height:28px; padding:4px 8px; }
.record-dialog { max-width:620px; width:calc(100% - 32px); border:1px solid var(--border); border-radius:10px; padding:24px; box-shadow:0 16px 60px #10182822; }
.record-dialog::backdrop { background:#16203055; }
.record-dialog h2 { margin-bottom:20px; }
.record-dialog label { display:grid; gap:5px; font-size:13px; }
.record-dialog .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }
.record-dialog .primary-btn,.record-dialog .soft-btn { margin-right:8px; }
.record-dialog [role=alert]:not(:empty),.app-notice { background:#f0f3f8; border:1px solid var(--border); border-radius:6px; padding:10px 14px; font-size:12px; margin:0 0 16px; }
.record-dialog [role=alert]:not(:empty) { background:#fff4f4; color:#a33243; }
.profile-circle { width:34px; height:34px; border-radius:50%; background:#e9edf3; color:#526179; border:1px solid #dce2ea; font-size:11px; font-weight:600; box-shadow:none; }
.profile-menu-wrapper { position:relative; }
.profile-dropdown { background:white; border:1px solid var(--border); border-radius:8px; padding:6px; box-shadow:0 6px 20px #10182810; min-width:200px; }
.profile-dropdown a,.profile-dropdown button { font-size:13px; padding:9px 12px; border-radius:4px; }
.status-badge { font-size:11px; padding:3px 7px; border-radius:4px; }
.dashboard-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.dashboard-kpis .stat-card { padding:17px 18px; min-width:0; }
.dashboard-kpis .stat-card span { font-size:12px; color:#667085; }
.dashboard-kpis .stat-card strong { display:block; font-size:27px; font-weight:600; color:#293548; margin:8px 0 4px; line-height:1.2; overflow-wrap:anywhere; }
.dashboard-kpis .stat-card:last-child strong { font-size:22px; }
.dashboard-kpis .stat-card small { font-size:11px; line-height:1.5; }
.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.dashboard-panel { margin:0; min-width:0; padding:18px; }
.dashboard-panel.wide { grid-column:1/-1; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.panel-heading h2 { font-size:17px; }
.panel-heading .soft-btn { font-size:11px; padding:4px 7px; min-height:26px; }
.dashboard-notice { font-size:12px; color:var(--muted); margin-bottom:16px; }
.dashboard-footnote { font-size:11px; line-height:1.55; color:#7b8492; margin-top:14px; }
.empty-state { padding:16px 0; font-size:13px; color:#748093; }
.pipeline-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.pipeline-grid .soft-btn { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; font-size:10px; padding:8px; background:#fafbfc; }
.pipeline-grid strong { font-size:20px; font-weight:600; color:#344054; }
.activity-list { list-style:none; margin:0; padding:0; }
.activity-list li { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid #edf0f3; }
.activity-list li:last-child { border:0; }
.activity-list strong { font-size:12px; font-weight:550; overflow-wrap:anywhere; }
.activity-list small { display:block; font-size:11px; margin-top:3px; }
.activity-list li>span { font-size:12px; white-space:nowrap; }
.quick-action-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.financial-bar { display:grid; grid-template-columns:1fr auto; gap:8px; margin-bottom:16px; font-size:12px; }
.financial-bar strong { font-weight:550; }
.bar-track { grid-column:1/-1; height:7px; background:#edf0f4; border-radius:3px; overflow:hidden; }
.bar-track span { display:block; background:#607e9b; height:100%; }
.financial-bar:nth-child(2) .bar-track span { background:#b48fa8; }
.skeleton { height:95px; border:1px solid #e6eaf0; background:#edf0f4; border-radius:8px; }
.app-toast { position:fixed; bottom:24px; right:24px; padding:12px 18px; border:1px solid #cae0d5; border-radius:6px; background:#eff8f3; color:#285d46; box-shadow:0 4px 16px #10182808; z-index:100; font-size:13px; max-width:calc(100% - 48px); }
.app-mobile-toggle { display:none; }
.app-mobile-bar { display:none; }
@media(max-width:1150px) { .app { padding:24px; } .dashboard-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) { .app-mobile-bar { display:flex; position:sticky; top:0; z-index:45; padding:12px 18px; background:#fff; border-bottom:1px solid var(--border); justify-content:space-between; align-items:center; } .app-mobile-bar img { width:130px; height:auto; } .app-mobile-toggle { display:inline-flex; } .sidebar { transform:translateX(-100%); top:65px; height:calc(100dvh - 65px); } .sidebar.is-open { transform:none; box-shadow:12px 0 24px #10182818; } .app { margin:0; width:100%; padding:22px; } .dashboard-grid { grid-template-columns:1fr; } .dashboard-panel.wide { grid-column:auto; } }
@media(max-width:480px) { .app { padding:18px 14px; } .dashboard-kpis { gap:10px; } .dashboard-kpis .stat-card { padding:14px; } .dashboard-kpis .stat-card strong { font-size:24px; } .dashboard-kpis .stat-card:last-child strong { font-size:20px; } .pipeline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .record-dialog .form-grid { grid-template-columns:1fr; } h1 { font-size:25px; } }
@media(max-width:360px) { .dashboard-kpis { grid-template-columns:1fr; } }

.sidebar .nav a .nav-icon { background:transparent; box-shadow:none; border-radius:0; flex:0 0 17px; }
.dashboard-panel .resource-table td:last-child { min-width:90px; }

.sidebar { margin:0; }
.topbar { flex-direction:row; }
.app > #account-message[data-state=info] { padding:0; border:0; background:none; margin-bottom:18px; font-size:12px; }

.nav-roadmap-note { padding:6px 10px; font-size:10px; color:#89919d; }
.nav-unavailable { align-items:center; }
.nav-unavailable small { flex-shrink:0; }

.dashboard-header-actions { display:flex; gap:10px; align-items:center; }
.notification-menu { position:relative; }
.notification-panel { position:absolute; right:0; top:42px; width:280px; max-width:calc(100vw - 32px); z-index:55; border:1px solid var(--border); border-radius:8px; padding:18px; background:#fff; box-shadow:0 8px 24px #10182814; }
.notification-panel h2 { font-size:16px; margin-bottom:10px; }
.notification-panel p { font-size:13px; margin-bottom:16px; }
@media(max-width:600px) { .topbar { align-items:flex-start; flex-wrap:wrap; } .dashboard-header-actions { width:100%; justify-content:flex-end; } }

.production-page .production-stat-delayed { background:#fff1f2; border:1px solid #dc3545; border-left:4px solid #c62838; }
.production-page .production-stat-delayed span, .production-page .production-stat-delayed strong { color:#b42332; }

/* Application-wide finishing layer: controls, content density and semantic colors. */
.sidebar .nav { flex:1 1 auto; min-height:0; scrollbar-width:thin; scrollbar-color:#a66a94 #faf7f9; }
.sidebar .nav::-webkit-scrollbar { width:5px; }
.sidebar .nav::-webkit-scrollbar-track { background:#faf7f9; }
.sidebar .nav::-webkit-scrollbar-thumb { background:#a66a94; border-radius:3px; }
.sidebar .nav::-webkit-scrollbar-thumb:hover { background:#86155f; }
.sidebar-support { flex:0 0 auto; margin-top:12px; padding:12px; border:1px solid #e7dce4; border-radius:7px; background:#fcf9fb; }
.sidebar-support strong { font-size:13px; color:#344054; }
.sidebar-support p { margin:5px 0 9px; font-size:11px; }
.sidebar-support .soft-btn { width:100%; background:#fff; color:#86155f; }
.sidebar-support small { display:block; font-size:10px; margin-top:7px; }
.hero-card,.profile-overview-card { background:#fafbfc; border:1px solid var(--border); box-shadow:none; border-radius:8px; padding:22px; margin-bottom:20px; }
.hero-card h2 { font-size:20px; max-width:680px; }
.hero-card p { font-size:13px; max-width:760px; line-height:1.6; }
.stats-grid { gap:14px; margin-bottom:20px; }
.stat-card strong { font-size:28px; font-weight:600; line-height:1.3; }
.stat-card small { font-size:11px; }
.dashboard-kpis .stat-card:nth-child(1) { background:#f2faf6; border-color:#d9eade; }
.dashboard-kpis .stat-card:nth-child(2) { background:#f2f7fd; border-color:#dce7f4; }
.dashboard-kpis .stat-card:nth-child(3) { background:#fffaf0; border-color:#eee3c9; }
.dashboard-kpis .stat-card:nth-child(4) { background:#fcf3f6; border-color:#efdae2; }
.pipeline-grid .pipeline-delayed { border-color:#e3b1b7; color:#a12838; background:#fff7f8; }
.pipeline-grid .pipeline-delayed strong { color:#a12838; }
.content-grid,.form-grid { gap:18px; }
.form-card { margin-bottom:18px; }
.form-card h2 { font-size:19px; margin-bottom:16px; }
.form-card label { display:grid; gap:6px; font-size:13px; }
.form-card input,.form-card select { width:100%; }
.help-card,.tool-card,.mockup-card,.calculator-card,.pricing-card { padding:20px; border:1px solid var(--border); border-radius:8px; background:#fff; box-shadow:none; min-height:0; }
.help-card:hover,.tool-card:hover,.mockup-card:hover,.calculator-card:hover { transform:none; box-shadow:0 2px 6px #10182806; border-color:#cbd4df; }
.help-icon,.tool-icon,.mockup-icon,.calculator-icon,.integration-icon { width:32px; height:32px; font-size:20px; background:#f3f5f8; color:#637185; border-radius:6px; }
.calculator-grid,.tools-grid,.integration-grid,.mockup-grid,.help-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.calculator-card h3,.tool-card h3,.mockup-card h3,.integration-card h3 { font-size:16px; margin:10px 0; }
.calculator-card p,.tool-card p,.mockup-card p,.integration-card p { font-size:13px; line-height:1.6; }
.calculator-card.locked { opacity:1; background:#fafbfc; }
.calculator-card:has(h3 + .status-badge) { border-left:3px solid #a45487; }
.calculator-modal-card { border-radius:10px; box-shadow:0 16px 40px #10182822; padding:24px; max-height:calc(100dvh - 32px); overflow:auto; }
.calculator-modal-card h2 { font-size:20px; }
.calculator-form label { font-size:13px; }
.pricing-grid { gap:16px; }
.pricing-card h2 { font-size:28px; } .pricing-card h2 small { font-size:12px; }
.pricing-card.active-plan { border-color:#cda5be; background:#fcf7fa; box-shadow:none; }
.money-cell { text-align:right; font-variant-numeric:tabular-nums; }
.status-paid,.status-completed { color:#276447; background:#eaf5ee; }
.status-sent,.status-pending,.status-awaiting-approval { color:#8b641e; background:#fff5de; }
.status-overdue,.status-failed,.status-delayed { color:#a12838; background:#fff0f2; }
.status-draft,.status-open,.status-new-order { color:#3b6187; background:#edf4fc; }
.record-dialog .danger-btn { background:#a12838; border-color:#a12838; }
.production-page { background:#fff; min-height:100dvh; }
.production-page .production-app { width:calc(100% - 232px); max-width:none; margin-left:232px; padding:24px; min-width:0; }
.production-topbar { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:0; margin-bottom:20px; background:#fff; }
.production-topbar h1 { font-size:28px; }
.production-subtitle { font-size:13px; }
.production-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.production-stat { padding:16px; border:1px solid var(--border); border-radius:8px; background:#fff; box-shadow:none; }
.production-stat strong { font-size:28px; }
.production-board { display:flex; align-items:stretch; gap:14px; overflow-x:auto; max-width:100%; padding:0 0 14px; min-height:380px; scrollbar-width:thin; }
.kanban-lane { flex:0 0 260px; min-width:260px; padding:12px; background:#f7f8fa; border:1px solid #e6e9ee; border-radius:8px; }
.lane-header h3 { font-size:13px; } .lane-header span { font-size:11px; border-radius:4px; }
.kanban-card { padding:13px; border:1px solid #e1e5eb; border-radius:6px; background:#fff; box-shadow:0 1px 3px #10182804; margin-top:12px; }
.kanban-card:hover { transform:none; box-shadow:0 2px 6px #10182808; }
.kanban-card .card-top { flex-wrap:wrap; gap:8px; }
.kanban-card .card-top a { font-size:13px; font-weight:550; color:#344054; }
.kanban-card p,.kanban-card small { font-size:11px; line-height:1.6; }
.kanban-card label { display:grid; gap:5px; font-size:10px; color:#7b8594; margin-top:10px; }
.kanban-card select { margin-top:0; font-size:12px; min-height:34px; padding:5px; }
.kanban-card .soft-btn { font-size:11px; padding:4px 7px; min-height:28px; }
.kanban-card .status-badge { display:inline-block; margin-top:9px; }
.production-page .kanban-lane[data-status=delayed] .kanban-card { background:#fff; border-color:#ead4d7; border-left:3px solid #bd4a57; }
.production-page .kanban-lane[data-status=delayed] .kanban-card:hover { background:#fffafb; border-color:#cf8e98; }
.production-page .status-delayed { color:#a12838; background:#fff0f2; }
.order-thumbnail { width:40px; height:40px; object-fit:cover; border-radius:4px; margin-bottom:8px; }
.kanban-lane.drag-over { border-color:#a4648d; background:#faf3f8; }
@media(max-width:1100px) { .calculator-grid,.tools-grid,.integration-grid,.mockup-grid,.help-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) { .production-page .production-app { margin:0; width:100%; padding:18px; } .production-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .content-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .calculator-grid,.tools-grid,.integration-grid,.mockup-grid,.help-grid,.pricing-grid { grid-template-columns:1fr; } .form-grid { grid-template-columns:1fr; } .production-topbar h1 { font-size:26px; } }

/* Persistent Orders and Products workspaces, including disconnected states. */
.resource-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
.resource-metric{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid #dce6ed;border-radius:8px;background:#f2faf6;min-width:0}
.resource-metric:nth-child(2){background:#f2f7ff;border-color:#dce5f4}
.resource-metric:nth-child(3){background:#fff8ee;border-color:#eee0c7}
.resource-metric:nth-child(4){background:#fcf3f8;border-color:#efdae5}
.resource-metric>span{font-size:13px;color:#475569}
.resource-metric>strong{font-size:28px;line-height:1.2;font-weight:600;color:#172b45}
.resource-metric>small{font-size:12px;color:#64748b}
body:has(.resource-workspace) .resource-summary:has(+.panel) .resource-metric{box-shadow:none}
.resource-summary[aria-label="Orders summary"] .resource-metric:nth-child(3){background:#fff5f6;border-color:#f2d3d8}
.resource-summary[aria-label="Orders summary"] .resource-metric:nth-child(3)>strong{color:#be123c}
.resource-workspace{padding:20px!important}
.resource-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.resource-panel-heading h2{font-size:18px;margin:0 0 6px;color:#172b45}
.resource-panel-heading p{font-size:13px;line-height:1.6;color:#64748b;margin:0}
.resource-panel-heading .resource-toolbar{margin:0;flex-wrap:wrap}
.resource-connection{padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#64748b}
.resource-empty{padding:38px 18px;text-align:center;color:#64748b;white-space:normal}
.resource-empty strong{font-size:15px;color:#334155}
.resource-empty p{font-size:13px;margin:8px 0 0}
@media(max-width:1050px){.resource-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-panel-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:540px){.resource-summary{grid-template-columns:1fr;gap:10px}.resource-metric{padding:16px}.resource-workspace{padding:14px!important}}

/* Restored content and live record cards share the approved white/magenta shell. */
.restored-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}
.restored-record-card{min-width:0;padding:20px!important;overflow-wrap:anywhere}
.restored-record-card h3{font-size:16px;margin:12px 0}
.restored-record-card p{font-size:13px;color:#64748b;margin:8px 0}
.restored-record-card button{margin-top:12px}
.restored-card-icon{width:30px;height:30px;fill:none;stroke:#a21b73;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.restored-preview-notice{font-size:13px;border-left:3px solid #a21b73}
.product-thumb svg{width:44px;height:44px}
.resource-summary[aria-label="orders summary"] .resource-metric:nth-child(3){background:#fff5f6;border-color:#f2d3d8}
.resource-summary[aria-label="orders summary"] .resource-metric:nth-child(3)>strong{color:#be123c}
@media(max-width:1050px){.restored-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.restored-record-grid{grid-template-columns:1fr}.hero-card{flex-wrap:wrap}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.product-card{background:#fff!important;border:1px solid #dce3ec!important;border-radius:8px!important;box-shadow:none!important}
.product-thumb{background:#faf3f8!important;background-image:none!important;border-radius:6px!important;color:#8b246a}
.hero-card .primary-btn{border-radius:6px}
