/* CONFIDENTIAL — Build 015 operational modules */
:root{--surface:#fff;--surface2:#f7f9fc;--surface3:#eef3f8;--ink:#10213b;--sub:#6b7a91;--stroke:#dfe6ef;--shadow:0 10px 30px rgba(18,36,64,.07);--purple:#7c3aed;--teal:#0f9f83;--cyan:#0e7490}
html[data-theme="dark"]{--bg:#09111b;--surface:#111b26;--surface2:#0d1621;--surface3:#172330;--ink:#ecf3fb;--sub:#91a3b7;--stroke:#26384a;--navy:#071320;--text:#ecf3fb;--line:#26384a;--blue:#5b9cff;--green:#3bd087;--red:#ff7078;--orange:#ff7a27;--yellow:#3b3210;color-scheme:dark}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}html[data-theme="dark"] .panel,html[data-theme="dark"] .card,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:var(--surface);border-color:var(--stroke);color:var(--ink)}html[data-theme="dark"] th{background:var(--surface3);color:#b9c7d8}html[data-theme="dark"] td{border-color:var(--stroke)}html[data-theme="dark"] .secondary{background:#1b2b3b;color:#e9f1fb}html[data-theme="dark"] .review-head{background:var(--surface3)}
.theme-toggle{margin:8px 0 0;width:100%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;border-radius:9px;padding:10px;font-weight:800;cursor:pointer}.theme-toggle:hover{background:rgba(255,255,255,.14)}
.module-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.module-head h1{margin:0 0 4px}.module-actions{display:flex;gap:8px;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{background:var(--surface);border:1px solid var(--stroke);border-radius:13px;padding:16px;box-shadow:var(--shadow)}.stat-card span{color:var(--sub);font-size:12px}.stat-card strong{display:block;font-size:29px;margin-top:5px}.stat-card small{color:var(--sub)}
.module-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}.module-card{background:var(--surface);border:1px solid var(--stroke);border-radius:14px;box-shadow:var(--shadow);padding:17px}.module-card h2,.module-card h3{margin:0 0 12px}.module-card .card-sub{color:var(--sub);font-size:12px;margin-top:-7px;margin-bottom:12px}.exception-list{display:grid;gap:9px}.exception{display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:center;border:1px solid var(--stroke);border-radius:10px;padding:10px}.exception .po-link{font-weight:900}.exception small{color:var(--sub)}
.searchbar{display:grid;grid-template-columns:2fr repeat(4,minmax(120px,1fr)) auto;gap:9px;margin-bottom:14px}.searchbar input,.searchbar select{margin:0}.orders-table .stage{font-weight:800}.stage-goods{color:#b36500}.stage-proof{color:#7c3aed}.stage-ready{color:#0c8f59}.stage-production{color:#1769e8}.stage-produced{color:#0f766e}.stage-shipped{color:#596579}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;align-items:start;overflow:auto;padding-bottom:10px}.kanban-col{min-width:210px;background:var(--surface2);border:1px solid var(--stroke);border-radius:13px;padding:10px}.kanban-col h3{display:flex;justify-content:space-between;align-items:center;font-size:13px}.kanban-card{background:var(--surface);border:1px solid var(--stroke);border-radius:10px;padding:11px;margin:9px 0;box-shadow:0 5px 14px rgba(15,35,60,.05)}.kanban-card b{display:block}.kanban-card small{display:block;color:var(--sub);margin-top:4px}.kanban-card .thumb{width:46px;height:46px;object-fit:contain;float:right;margin-left:8px}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.proof-card{background:var(--surface);border:1px solid var(--stroke);border-radius:13px;padding:14px}.proof-card .proof-img{height:155px;background:var(--surface2);border:1px solid var(--stroke);border-radius:9px;display:grid;place-items:center;overflow:hidden;margin:10px 0}.proof-card .proof-img img{max-width:100%;max-height:100%;object-fit:contain}.proof-card .proof-img iframe{width:100%;height:100%;border:0}.proof-meta{display:flex;justify-content:space-between;gap:8px;color:var(--sub);font-size:11px}
.art-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:13px}.art-card{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;padding:10px}.art-preview{height:125px;background:var(--surface2);border:1px solid var(--stroke);border-radius:8px;display:grid;place-items:center;overflow:hidden}.art-preview img{max-width:100%;max-height:100%;object-fit:contain}.art-preview iframe{width:100%;height:100%;border:0}.art-card b,.art-card small{display:block;margin-top:7px}.art-card small{color:var(--sub)}
.capacity-wrap{overflow:auto}.capacity{min-width:900px}.capacity th{text-transform:none;font-size:12px}.capcell{min-width:105px;text-align:center;font-weight:800;border-radius:7px}.cap-low{background:#e5f7eb;color:#167a43}.cap-mid{background:#fff2cc;color:#8d6100}.cap-high{background:#ffe1d8;color:#a63b20}.cap-over{background:#ffd7dc;color:#b41f31}html[data-theme="dark"] .cap-low{background:#123e2b;color:#78e7aa}html[data-theme="dark"] .cap-mid{background:#453a12;color:#ffd86e}html[data-theme="dark"] .cap-high{background:#4b261b;color:#ffae91}html[data-theme="dark"] .cap-over{background:#4a1c25;color:#ff9dab}
.chat-layout{display:grid;grid-template-columns:300px 1fr;gap:14px}.conversation-list{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;padding:8px}.conversation{padding:11px;border-radius:9px;border-bottom:1px solid var(--stroke)}.conversation.active{background:var(--surface3)}.message-pane{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;padding:14px}.msg{max-width:70%;padding:10px 12px;border-radius:12px;background:var(--surface3);margin:10px 0}.msg.mine{margin-left:auto;background:#eaf2ff;color:#173d7e}html[data-theme="dark"] .msg.mine{background:#16345b;color:#dbeafe}.msg small{display:block;margin-top:5px;color:var(--sub)}
.owner-finance{background:linear-gradient(145deg,#0f1924,#111d29);color:#f2f7fb;border:1px solid #263748}.owner-finance .stat-card{background:#131f2b;border-color:#2a3b4d;color:#f2f7fb}.owner-finance .stat-card span,.owner-finance .stat-card small{color:#8da1b5}.finance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.finance-kpi{background:#111d29;border:1px solid #263748;border-radius:12px;padding:14px}.finance-kpi span{font-size:11px;color:#91a4b7}.finance-kpi strong{display:block;font-size:23px;margin-top:5px}.fin-positive{color:#42d990}.financial-table input{min-width:95px;margin:0;padding:7px}.financial-table td,.financial-table th{white-space:nowrap}
.settings-grid{display:grid;grid-template-columns:220px repeat(5,1fr);gap:1px;background:var(--stroke);border:1px solid var(--stroke);border-radius:12px;overflow:hidden}.settings-grid>div{background:var(--surface);padding:10px;font-size:12px}.settings-grid .head{font-weight:900;background:var(--surface3)}.settings-grid input{width:auto;margin:0}
.order-timeline{display:grid;gap:8px}.event{display:grid;grid-template-columns:160px 150px 1fr;gap:12px;padding:10px;border-left:3px solid var(--blue);background:var(--surface2);border-radius:0 9px 9px 0}.event small{color:var(--sub)}
@media(max-width:1200px){.stat-grid,.finance-grid{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:1fr}.art-grid{grid-template-columns:repeat(3,1fr)}.proof-grid{grid-template-columns:repeat(2,1fr)}.searchbar{grid-template-columns:1fr 1fr 1fr}.chat-layout{grid-template-columns:1fr}}
@media(max-width:760px){.stat-grid,.finance-grid,.proof-grid,.art-grid{grid-template-columns:1fr}.searchbar{grid-template-columns:1fr}.event{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr 1fr}}

.side{overflow-y:auto;position:sticky;top:0;height:100vh}

/* Build 030 Owner Home — linked mini screens; approved 7-Day preview remains first. */
.owner-home-head{margin-bottom:14px}.owner-page-gallery{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px}.mini-screen{display:flex;flex-direction:column;min-height:220px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;box-shadow:var(--shadow);padding:14px;color:var(--ink);text-decoration:none;overflow:hidden}.mini-screen:hover{border-color:#8fb7ff;transform:translateY(-1px)}.mini-screen-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--stroke);padding-bottom:10px}.mini-screen-head b{display:block;font-size:14px}.mini-screen-head span{display:block;color:var(--sub);font-size:11px;margin-top:3px}.mini-screen-head>strong{font-size:19px;color:var(--blue)}.mini-weekly{grid-column:1/-1;min-height:250px}.mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:12px 0}.mini-day{min-height:142px;border:1px solid var(--stroke);border-radius:10px;padding:9px;background:var(--surface2);text-align:center}.mini-day.today{border:2px solid var(--blue);background:#f2f7ff}.mini-day>b,.mini-day>span,.mini-day>strong,.mini-day>small{display:block}.mini-day>b{font-size:11px;color:var(--blue)}.mini-day>span{font-size:10px;color:var(--sub)}.mini-day>strong{font-size:24px;margin:5px 0 0}.mini-day>small{font-size:9px;color:var(--sub)}.mini-day>em{display:block;font-size:9px;font-style:normal;text-align:left;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-open{margin-top:auto;padding-top:10px;color:var(--blue);font-weight:800;font-size:11px}.mini-module-body{display:flex;flex-direction:column;gap:12px;flex:1;padding-top:12px}.mini-kpi span{display:block;color:var(--sub);font-size:10px}.mini-kpi strong{display:block;font-size:28px;margin-top:2px}.mini-lines{display:grid;gap:6px}.mini-lines i{display:grid;grid-template-columns:70px 1fr auto;gap:7px;font-style:normal;font-size:9px;padding:6px;background:var(--surface2);border-radius:7px}.mini-lines em{font-style:normal;color:var(--sub)}.mini-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.mini-kanban i{font-style:normal;font-size:9px;background:var(--surface2);padding:9px 5px;text-align:center;border-radius:7px}.mini-kanban b{display:block;font-size:18px}.mini-progress{height:9px;background:var(--surface3);border-radius:999px;overflow:hidden}.mini-progress span{display:block;height:100%;background:var(--green)}.mini-placeholder{display:grid;gap:7px}.mini-placeholder span{height:18px;border-radius:5px;background:var(--surface2)}.mini-placeholder span:nth-child(2){width:78%}.mini-placeholder span:nth-child(3){width:90%}.mini-finance{background:linear-gradient(145deg,#101b27,#172533);color:#eef6ff;border-color:#2b4156}.mini-finance .mini-screen-head span,.mini-finance .mini-kpi span{color:#9bb0c4}.mini-finance .mini-kpi strong{color:#4add94}.mini-finance-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:9px}.mini-finance-row span{background:#0c1620;padding:8px;border-radius:7px}.mini-finance .mini-open{color:#7db0ff}html[data-theme="dark"] .mini-day.today{background:#10233a}.owner-page-gallery .mini-module{min-height:210px}@media(max-width:1250px){.owner-page-gallery{grid-template-columns:repeat(2,minmax(260px,1fr))}.mini-weekly{grid-column:1/-1}.mini-days{overflow-x:auto;grid-template-columns:repeat(7,minmax(115px,1fr))}}@media(max-width:760px){.owner-page-gallery{grid-template-columns:1fr}.mini-weekly{grid-column:auto}}


/* Build 043 — dark-mode contrast pass for shared operational modules. */
html[data-theme="dark"] a{color:#7db0ff}
html[data-theme="dark"] .alert{border-color:#33495f}
html[data-theme="dark"] .alert.success{background:#123e2b!important;color:#8be8b1!important;border-color:#286545!important}
html[data-theme="dark"] .alert.danger{background:#451e25!important;color:#ffadb4!important;border-color:#6d3440!important}
html[data-theme="dark"] .alert.info{background:#16304b!important;color:#bcdcff!important;border-color:#315c86!important}
html[data-theme="dark"] .pill.gray{background:#253444;color:#cbd8e6}html[data-theme="dark"] .pill.orange{background:#4b2b16;color:#ffb27e}
html[data-theme="dark"] .pill.green{background:#123e2b;color:#78e7aa}html[data-theme="dark"] .pill.red{background:#4a1c25;color:#ff9dab}
html[data-theme="dark"] .pill.blue{background:#16345b;color:#a8ccff}html[data-theme="dark"] .pill.yellow{background:#453a12;color:#ffd86e}
html[data-theme="dark"] .choice,html[data-theme="dark"] .review-body,html[data-theme="dark"] .confirm-box,html[data-theme="dark"] .file-chip,
html[data-theme="dark"] .right-benefits,html[data-theme="dark"] .conversation,html[data-theme="dark"] .event{background:var(--surface2);border-color:var(--stroke);color:var(--ink)}
html[data-theme="dark"] .muted,html[data-theme="dark"] small,html[data-theme="dark"] .card-sub{color:#9fb0c2}
html[data-theme="dark"] table,html[data-theme="dark"] tbody,html[data-theme="dark"] tr{color:var(--ink)}
html[data-theme="dark"] .stage-goods{color:#ffbd66}html[data-theme="dark"] .stage-proof{color:#c5a3ff}html[data-theme="dark"] .stage-ready{color:#64e3ac}
html[data-theme="dark"] .stage-production{color:#83b5ff}html[data-theme="dark"] .stage-produced{color:#6ee7d0}html[data-theme="dark"] .stage-shipped{color:#bdcad8}


/* Build 043 settings role matrix — Management, Art, Producer, Warehouse, Sales, Accounting. */
.settings-grid{grid-template-columns:220px repeat(6,1fr)}

/* Build 100 R28.41 — generated artwork previews in Artwork Gallery and Artist Queue. */
.r2841-art-fallback{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:7px;padding:12px;text-align:center;color:var(--sub);background:var(--surface2)}.r2841-art-fallback strong{font-size:20px;letter-spacing:.04em}.r2841-art-fallback small{margin:0!important;font-size:10px;line-height:1.35}.r2841-art-fallback.reference strong{font-size:13px}.r2841-reference-note{color:var(--sub)!important;font-weight:800}.r2841-art-buttons button{font:inherit;cursor:pointer}.r2841-art-buttons{align-items:center;flex-wrap:wrap}
.r2841-gallery-modal[hidden]{display:none!important}.r2841-gallery-modal{position:fixed;inset:0;z-index:10050;background:rgba(4,13,26,.72);display:grid;place-items:center;padding:24px}.r2841-gallery-modal-card{width:min(980px,94vw);height:min(820px,90vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.36)}.r2841-gallery-modal-card header,.r2841-gallery-modal-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--stroke)}.r2841-gallery-modal-card footer{border-bottom:0;border-top:1px solid var(--stroke);justify-content:flex-end}.r2841-gallery-modal-card header button{width:34px;height:34px;border:1px solid var(--stroke);border-radius:8px;background:var(--surface2);color:var(--ink);font-size:22px;cursor:pointer}.r2841-gallery-modal-stage{display:grid;place-items:center;min-height:0;padding:18px;background:#f3f5f8;overflow:auto}.r2841-gallery-modal-stage img{max-width:100%;max-height:100%;object-fit:contain;background:#fff}
.r2841-proof-fallback{display:grid;place-items:center;align-content:center;gap:5px;text-align:center;color:var(--sub)}.r2841-proof-fallback b{font-size:20px}.r2841-proof-fallback small{font-size:10px}.r2841-art-source{margin:-3px 0 9px;font-size:10px;font-weight:800;color:var(--sub);text-align:center}
html[data-theme="dark"] .r2841-gallery-modal-stage{background:#0b131d}
@media(max-width:700px){.r2841-gallery-modal{padding:8px}.r2841-gallery-modal-card{width:98vw;height:88vh}.r2841-gallery-modal-stage{padding:8px}}
/* R28.67 — compact Production Board workflow controls. */
.pb-stage-actions{clear:both;margin-top:9px;padding-top:8px;border-top:1px solid var(--stroke)}.pb-stage-actions form{display:flex;gap:6px;flex-wrap:wrap;margin:0}.pb-stage-actions button{min-height:30px;padding:0 9px;font-size:10px;border-radius:7px}


/* OPT V7.100 / Build 100 R30.14 — shared live dashboard date/time for every role. */
.dashboard-welcome-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.25}
.dashboard-live-clock{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.dashboard-live-clock::before{content:"◷ ";opacity:.72}
.dashboard-clock-sep{opacity:.5}
@media(max-width:760px){.dashboard-live-clock{white-space:normal}.dashboard-clock-sep{display:none}}


/* OPT V7.101 / Build 100 R30.15 — Supply Request status clarity. */
.supply-status-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.supply-summary-chip{border:1px solid var(--stroke);border-left-width:5px;border-radius:10px;padding:11px 12px;background:var(--surface2);display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.supply-summary-chip span{font-weight:900;font-size:12px}.supply-summary-chip strong{font-size:24px;line-height:1}.supply-summary-chip small{grid-column:1/-1;font-size:10px;color:var(--sub)}
.supply-summary-chip.pending{border-left-color:#f59e0b;background:#fffaf0}.supply-summary-chip.pending strong{color:#ad6500}
.supply-summary-chip.ordered{border-left-color:#2563eb;background:#f3f7ff}.supply-summary-chip.ordered strong{color:#235fd0}
.supply-table-card{overflow-x:auto}.supply-request-table{width:100%}.supply-request-table .supply-row td:first-child{border-left:5px solid transparent;padding-left:12px}
.supply-request-table .supply-row-pending{background:#fffaf0}.supply-request-table .supply-row-pending td:first-child{border-left-color:#f59e0b}
.supply-request-table .supply-row-ordered{background:#f3f7ff}.supply-request-table .supply-row-ordered td:first-child{border-left-color:#2563eb}
.supply-request-table .supply-row-received{background:#f1fbf5}.supply-request-table .supply-row-received td:first-child{border-left-color:#22a060}
.supply-request-table .supply-row-cancelled{background:#fff5f5}.supply-request-table .supply-row-cancelled td:first-child{border-left-color:#dc3545}
.supply-status-select{font-weight:800;text-transform:capitalize;border-width:2px!important}
.supply-status-select.supply-status-pending{border-color:#e5a52c!important;background:#fffaf0!important;color:#8c5700!important}
.supply-status-select.supply-status-ordered{border-color:#5b8def!important;background:#f3f7ff!important;color:#174aa6!important}
.supply-status-select.supply-status-received{border-color:#55b984!important;background:#f1fbf5!important;color:#11653a!important}
.supply-status-select.supply-status-cancelled{border-color:#e48a92!important;background:#fff5f5!important;color:#a52532!important}
html[data-theme="dark"] .supply-summary-chip.pending,html[data-theme="dark"] .supply-request-table .supply-row-pending{background:#2e2411}
html[data-theme="dark"] .supply-summary-chip.ordered,html[data-theme="dark"] .supply-request-table .supply-row-ordered{background:#10233a}
html[data-theme="dark"] .supply-request-table .supply-row-received{background:#10291e}
html[data-theme="dark"] .supply-request-table .supply-row-cancelled{background:#30171b}
html[data-theme="dark"] .supply-status-select.supply-status-pending{background:#2e2411!important;color:#ffd27a!important;border-color:#a97118!important}
html[data-theme="dark"] .supply-status-select.supply-status-ordered{background:#10233a!important;color:#a8ccff!important;border-color:#447ac7!important}
html[data-theme="dark"] .supply-status-select.supply-status-received{background:#10291e!important;color:#78e7aa!important;border-color:#2f7f55!important}
html[data-theme="dark"] .supply-status-select.supply-status-cancelled{background:#30171b!important;color:#ffadb4!important;border-color:#8b4550!important}
@media(max-width:760px){.supply-status-summary{grid-template-columns:1fr}}
