/* Design tokens */
:root{--bg:#f4f4f2;--card:#fff;--surface:#fafaf9;--surface-2:#f0f0ed;--ink:#222;--ink-2:#3b3230;--muted:#5f6368;--muted-soft:#878787;--line:#dededb;--line-strong:#cacac5;--brand:#da2036;--brand-ink:#b9182b;--brand2:#f7dce1;--brand-soft:#fff1f3;--charcoal:#222;--warm:#3b3230;--ok:#087a50;--warning:#a45c00;--danger:#c81e32;--info:#1967a3;--radius:12px;--radius-sm:9px;--radius-xs:7px;--shadow-sm:0 1px 2px rgba(34,34,34,.045);--shadow:0 7px 22px rgba(34,34,34,.07);--shadow-lg:0 18px 52px rgba(34,34,34,.16);--ring:0 0 0 3px rgba(218,32,54,.18);--header-h:70px;--sidebar-w:286px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Bricolage Grotesque","Segoe UI",Tahoma,Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.015em}:focus-visible{outline:none;box-shadow:var(--ring)}

/* App bar + top navigation */
.appbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.appbar-inner{max-width:1500px;margin:auto;height:var(--header-h);padding:0 22px;display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;flex:none}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--brand);display:inline-grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 8px 18px -10px rgba(218,32,54,.8)}
.appbar-divider{width:1px;height:26px;background:var(--line);flex:none}
.mainnav{display:flex;align-items:center;gap:2px;flex:1;min-width:0}
.navlink{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:0;border-radius:var(--radius-xs);background:none;color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.navlink:hover{background:var(--surface-2);color:var(--ink)}
.navlink.active{background:var(--brand-soft);color:var(--brand)}
.navgroup{position:relative}
.navgroup .caret{opacity:.6;transition:transform .18s}
.navgroup.open .caret{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 9px);right:0;min-width:258px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:none;gap:1px;z-index:50}
.navgroup.open>.dropdown{display:grid}
.dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:var(--radius-xs);color:var(--ink-2);font-size:14px}
.dropdown-item:hover{background:var(--surface-2);color:var(--ink)}
.dropdown-item.active{background:var(--brand-soft);color:var(--brand);font-weight:700}
.appbar-actions{display:flex;align-items:center;gap:8px;flex:none}
.appbar-actions form{margin:0}
.icon-btn{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer;transition:.15s}
.icon-btn:hover{color:var(--ink);border-color:#cfd4dd}
.icon-btn.active{color:var(--brand);border-color:var(--brand2);background:var(--brand-soft)}
.icon-btn .dot{position:absolute;top:-5px;left:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}
.user-chip{display:flex;align-items:center;gap:9px;padding:4px 11px 4px 4px;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:13px;font-weight:600;transition:.15s}
.user-chip:hover{border-color:#cfd4dd}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--brand2);color:var(--brand);display:grid;place-items:center;font-size:13px;font-weight:800}
.link-button{border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;padding:7px 9px;border-radius:var(--radius-xs);cursor:pointer;transition:.15s}
.link-button:hover{color:var(--danger);background:#fef2f2}
.badge{background:var(--danger);color:#fff;border-radius:20px;padding:1px 7px;font-size:11px;font-weight:700}
.badge.is-empty{display:none}
.navtoggle{display:none}

/* Page frame */
.content{padding:24px 22px 36px;max-width:1500px;margin:auto}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.page-head h1{margin:0;font-size:22px;font-weight:800}
.page-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.app-foot{max-width:1500px;margin:auto;padding:0 22px 32px;color:var(--muted);font-size:12px}
.activity-row small,.list-row small{display:block;color:var(--muted)}

/* Surfaces */
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}
.stat-card,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.stat-card{padding:18px}
.stat-card strong{display:block;font-size:28px;font-weight:800;letter-spacing:-.02em;direction:ltr;text-align:right}
.stat-card span{color:var(--muted);font-size:13px}
.card{padding:20px;margin-bottom:18px}
.card h2{margin-top:0;font-size:17px;font-weight:700}
.section-head,.list-row,.activity-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.activity-row,.list-row{padding:12px 0;border-bottom:1px solid var(--line)}
.activity-row:last-child,.list-row:last-child{border:0}
.status-pill{background:var(--brand-soft);color:var(--brand);padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}

/* Forms + actions */
.stack{display:grid;gap:14px}
.stack label,label{color:var(--ink-2);font-size:14px;font-weight:600}
input,select,textarea{width:100%;border:1px solid #d8dce4;border-radius:var(--radius-sm);padding:9px 12px;background:#fff;font-weight:400;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}
input::placeholder,textarea::placeholder{color:#9aa3b2}
textarea{min-height:120px;resize:vertical}
.inline{display:flex;align-items:center;gap:8px}
.inline input{width:auto}
.btn{border:1px solid #d8dce4;background:#fff;border-radius:var(--radius-sm);padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;display:inline-block;text-align:center;box-shadow:var(--shadow-sm);transition:.15s}
.btn:hover{border-color:#c3c9d4;background:var(--surface)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 18px -10px rgba(218,32,54,.75)}
.btn.primary:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.btn.danger{color:var(--danger)}
.btn.danger:hover{border-color:#fca5a5;background:#fef2f2}
.alert{padding:12px 15px;border:1px solid transparent;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}
.alert ul{margin:0;padding-right:18px}
.alert.success{background:#ecfdf5;color:#065f46;border-color:#bbf7d0}
.alert.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}

/* Auth + misc */
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fff 0,#f8e9eb 34%,#f4f4f2 68%)}
.auth-card{width:min(420px,92vw);background:#fff;padding:34px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);text-align:center}
.auth-card .brand-mark{margin:auto}
.muted,.empty{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1fr 1.6fr;gap:18px}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:15px}
.check-card{border:1px solid var(--line);border-radius:var(--radius-xs);padding:9px;font-size:13px}
.check-card input{width:auto;margin-left:5px}
details{border-top:1px solid var(--line);padding:12px 0}
summary{cursor:pointer;font-weight:700}

@media(max-width:1180px){.navtoggle{display:grid}.appbar-divider{display:none}.mainnav{position:absolute;top:var(--header-h);right:0;left:0;flex-direction:column;align-items:stretch;gap:2px;padding:10px;background:var(--card);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);max-height:calc(100vh - var(--header-h));overflow:auto;display:none}.mainnav.open{display:flex}.navlink{justify-content:space-between;width:100%;padding:11px 12px;font-size:15px}.dropdown{position:static;min-width:0;padding:2px 10px 8px;border:0;border-radius:0;box-shadow:none}}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.appbar-inner{padding:0 14px}.content{padding:18px 14px 30px}.app-foot{padding:0 14px 24px}.permission-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.stats-grid,.permission-grid{grid-template-columns:1fr}.user-name{display:none}.user-chip{padding:4px}.page-head h1{font-size:19px}}
.cockpit{display:grid;grid-template-columns:340px 1fr;gap:18px;min-height:calc(100vh - 125px)}.conversation-list{padding:10px;overflow:auto}.conversation-item{display:block;padding:14px;border-bottom:1px solid var(--line);border-radius:10px}.conversation-item:hover,.conversation-item.selected{background:var(--brand2)}.conversation-item>div{display:inline-block}.conversation-item>.status-pill{float:left}.conversation-item p{margin:7px 0 0;color:var(--muted);font-size:13px}.chat-panel{display:flex;flex-direction:column}.messages{flex:1;min-height:350px;max-height:52vh;overflow:auto;background:#f8f8fb;border-radius:12px;padding:15px}.bubble{width:fit-content;max-width:75%;padding:10px 14px;border-radius:14px;margin-bottom:10px}.bubble p{margin:0 0 4px}.bubble small{color:var(--muted);font-size:10px}.bubble.incoming{background:#fff;border:1px solid var(--line);margin-left:auto}.bubble.outgoing{background:var(--brand2);margin-right:auto}.composer{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.composer-actions,.variant-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.chip{border:0;background:var(--brand2);color:var(--brand);border-radius:20px;padding:5px 11px;cursor:pointer}.success-text{color:var(--ok);margin-top:7px}.error-text{color:var(--danger);margin-top:7px}@media(max-width:900px){.cockpit{grid-template-columns:1fr}.conversation-list{max-height:320px}}
.section-actions,.search-form{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.search-form input{min-width:280px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:right;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:12px}td small{display:block;color:var(--muted)}.product-cell{display:flex;align-items:center;gap:10px}.product-cell img{width:48px;height:48px;object-fit:cover;border-radius:8px}
.filters,.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.timeline-item{display:grid;grid-template-columns:55px 1fr;gap:12px;border-right:3px solid var(--line);padding:8px 14px}.timeline-item.out{border-color:var(--brand)}.timeline-item p{margin:0}.timeline-item small{color:var(--muted)}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.content-card{color:inherit}.content-card p{color:var(--muted)}@media(max-width:900px){.filters,.form-grid,.content-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.filters,.form-grid,.content-grid{grid-template-columns:1fr}}
.tabs{display:flex;gap:5px;margin-bottom:14px;overflow:auto}.tabs button{border:0;background:#e9ebf0;padding:10px 18px;border-radius:9px;cursor:pointer;white-space:nowrap}.tabs button.active{background:var(--brand);color:#fff}.tab-panel{display:none}.tab-panel.active{display:block}.test-connection{margin-top:14px}.save-settings{position:sticky;bottom:15px;box-shadow:0 5px 20px rgba(218,32,54,.28)}.replica-policy-box{background:#fff3bf;color:#7c4a03;border:1px solid #ffe066;padding:14px;border-radius:10px;margin-top:14px}
.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px}.pagination a,.pagination span{padding:6px 10px;border:1px solid var(--line);border-radius:7px}.pagination .disabled{color:#aaa;background:#f3f4f6}

/* Campaign content engine */
.campaign-onboarding .section-head p,.campaign-summary p,.campaign-step-head p{margin:2px 0}.onboarding-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.campaign-empty{text-align:center;padding:45px}.campaign-empty .form-grid{max-width:760px;margin:25px auto 0;grid-template-columns:2fr 1fr auto;text-align:right;align-items:end}.campaign-create-action{padding-bottom:1px}.campaign-actions,.campaign-day-toolbar,.campaign-week-toolbar,.package-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.campaign-actions form{margin:0}.progress-track{height:12px;background:#e9ebf0;border-radius:99px;overflow:hidden;margin-top:18px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#9b87ff);border-radius:inherit}.progress-label{display:block;text-align:left;color:var(--brand);margin-top:5px}.campaign-board{display:grid;gap:18px}.campaign-week-row{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.campaign-week-title{display:flex;align-items:center;justify-content:space-between;background:#1b1d24;color:#fff;padding:13px 16px}.campaign-week-title div{display:flex;gap:13px;align-items:center}.campaign-week-title span{color:#d4b37e}.campaign-week-title .btn{color:#fff;border-color:#555}.campaign-days-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:0}.campaign-day-card{padding:15px 12px;border-left:1px solid var(--line);border-bottom:4px solid #ef4444;min-height:170px;display:flex;flex-direction:column;transition:.15s}.campaign-day-card:hover{background:#faf9ff;transform:translateY(-2px)}.campaign-day-card:last-child{border-left:0}.campaign-day-meta{display:flex;align-items:center;justify-content:space-between;gap:7px}.campaign-day-card h3{font-size:14px;line-height:1.5;margin:13px 0;flex:1}.campaign-day-card small{color:var(--muted);font-size:10px}.content-type{display:inline-block;border-radius:5px;padding:2px 9px;background:#dbc095;color:#332718;font-size:11px;font-weight:700}.type-reel{background:#e8ddff;color:#5b21b6}.type-post{background:#dcfce7;color:#166534}.type-story{background:#fff1cb;color:#92400e}.campaign-status{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;color:var(--muted)}.campaign-status span{width:8px;height:8px;border-radius:50%;background:#ef4444}.campaign-day-card.status-assets_ready{border-bottom-color:#f59f00}.campaign-day-card.status-assets_ready .campaign-status span{background:#f59f00}.campaign-day-card.status-ready{border-bottom-color:#3b82f6}.campaign-day-card.status-ready .campaign-status span{background:#3b82f6}.campaign-day-card.status-scheduled,.campaign-day-card.status-posted{border-bottom-color:#10b981}.campaign-day-card.status-scheduled .campaign-status span,.campaign-day-card.status-posted .campaign-status span{background:#10b981}.campaign-day-card.status-generating{border-bottom-color:#8b5cf6}.campaign-day-card.status-skipped{opacity:.55;border-bottom-color:#9ca3af}
.campaign-week-toolbar{justify-content:space-between;margin-bottom:15px}.shooting-print-head{display:none}.shooting-group h2{margin:0}.shooting-list{display:grid;gap:6px}.shooting-item{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}.shooting-item.complete{background:#f0fdf4;border-color:#bbf7d0}.shooting-check input{width:20px;height:20px}.shooting-copy>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.shooting-copy code,.requirement-head code{direction:ltr;background:#f1f3f5;border-radius:5px;padding:2px 6px;color:#5b3df5;font-size:11px}.shooting-copy p{margin:3px 0;color:var(--muted);font-size:12px}.shooting-copy small{color:var(--muted)}.campaign-days-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.campaign-days-mini a{display:grid;border:1px solid var(--line);padding:10px;border-radius:9px}.campaign-days-mini span{font-size:12px;margin:4px 0}.campaign-days-mini small{color:var(--danger)}
.campaign-day-toolbar{margin-bottom:14px}.campaign-day-intro{display:flex;justify-content:space-between;align-items:center;gap:20px}.campaign-day-intro h2{display:inline;margin:0 10px}.campaign-day-intro p{margin:10px 0 0}.campaign-rule-note{background:#fff4d6;color:#7c4a03;border-radius:9px;padding:11px}.campaign-step-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:15px}.campaign-step-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800}.campaign-step-head h2{margin:0}.requirements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.requirement-card{border:1px solid var(--line);border-right:4px solid #ef4444;border-radius:11px;padding:14px}.requirement-card.complete{border-right-color:#10b981;background:#fbfffc}.requirement-card:not(.missing):not(.complete){border-right-color:#9ca3af}.requirement-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.requirement-head h3{margin:5px 0;font-size:14px}.requirement-count{background:#f1f3f5;padding:3px 8px;border-radius:20px;font-size:12px}.requirement-spec{color:var(--muted);font-size:12px;margin:5px 0 12px}.requirement-upload{display:grid;gap:8px;margin-top:12px}.dropzone{display:grid;place-items:center;border:2px dashed #cbd0dc;border-radius:10px;padding:18px;text-align:center;cursor:pointer;background:#fafafa}.dropzone:hover{border-color:var(--brand);background:#faf9ff}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone small{color:var(--muted)}.upload-progress{height:7px;background:#e9ebf0;border-radius:20px;overflow:hidden}.upload-progress span{display:block;height:100%;width:0;background:var(--brand);transition:.25s}.form-feedback{margin:3px 0 0;font-size:12px}.asset-list{margin-top:12px;border-top:1px solid var(--line)}.asset-list>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:12px;border-bottom:1px solid #f1f3f5}.asset-list form{margin:0}.danger{color:var(--danger)!important}.campaign-generate[disabled],.btn[disabled]{opacity:.48;cursor:not-allowed}.deliverable-card{border:1px solid var(--line);border-radius:11px;padding:14px;margin-bottom:12px}.deliverable-card h3{text-transform:capitalize;margin:0}.deliverable-card .section-head>div{display:flex;gap:6px}.inline-form{display:inline-flex}.deliverable-card textarea{direction:rtl;min-height:180px;font-family:Tahoma,Arial,sans-serif;margin-bottom:8px}.deliverable-card.has-warning{border-color:#ef4444}.package-actions{justify-content:space-between}.package-actions form{display:flex;gap:7px;align-items:center}.package-actions select{min-width:140px}.package-link{margin-top:14px;background:#f0fdf4;border:1px solid #bbf7d0;padding:13px;border-radius:10px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.package-link a{color:var(--brand);direction:ltr;overflow-wrap:anywhere}.package-link small{display:block;color:var(--muted);width:100%}
@media(max-width:1200px){.campaign-days-grid{grid-template-columns:repeat(4,1fr)}.campaign-day-card{border-top:1px solid var(--line)}.campaign-days-mini{grid-template-columns:repeat(4,1fr)}.onboarding-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.campaign-days-grid,.requirements-grid,.campaign-days-mini,.onboarding-grid{grid-template-columns:1fr}.campaign-empty .form-grid{grid-template-columns:1fr}.campaign-week-title,.campaign-day-intro,.campaign-week-toolbar{align-items:flex-start;flex-direction:column}.shooting-item{grid-template-columns:auto 1fr}.shooting-item>.btn{grid-column:2}.package-actions{align-items:stretch;flex-direction:column}.package-actions form{align-items:stretch;flex-direction:column}}
@media print{body{background:#fff;font-size:11px}.appbar,.app-foot,.no-print,.campaign-week-toolbar{display:none!important}.content{padding:0;max-width:none}.page-head{margin-bottom:10px}.shooting-print-head{display:block;text-align:center;margin-bottom:12px}.card{box-shadow:none;border:1px solid #aaa;margin-bottom:8px;padding:10px;break-inside:avoid}.shooting-item{padding:6px}.shooting-item .btn{display:none}.shooting-copy p{font-size:9px}.campaign-days-mini{grid-template-columns:repeat(7,1fr)}}
.dashboard-campaign-card .progress-track{margin-bottom:12px}.dashboard-campaign-card p{margin:8px 0}.campaign-alerts{display:grid;gap:7px;margin-top:12px}.campaign-alerts a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;background:#fff1f1;border:1px solid #ffc9c9;color:#9b1c1c;padding:9px 12px;border-radius:9px}.campaign-alerts small{color:#9b1c1c}

/* ERP workspace */
.erp-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.erp-toolbar form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.erp-toolbar label{min-width:150px}.erp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.erp-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:grid;gap:3px}.erp-kpi strong{font-size:24px;color:var(--brand);direction:ltr;text-align:right}.erp-kpi small{color:var(--muted)}.erp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.erp-grid>.card{min-width:0}.erp-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.erp-form{display:grid;gap:11px}.erp-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.erp-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-form .full,.erp-form-grid .full{grid-column:1/-1}.erp-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.erp-actions form{display:flex;align-items:center;gap:6px;margin:0}.erp-actions select,.erp-actions input{min-width:110px;padding:7px 9px}.erp-actions .btn{padding:7px 10px}.erp-table td.wrap,.erp-table th.wrap{white-space:normal;min-width:180px}.erp-table .money{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.status-pill.ok{background:#dcfce7;color:#166534}.status-pill.warn{background:#fff3bf;color:#92400e}.status-pill.bad{background:#fee2e2;color:#991b1b}.status-pill.neutral{background:#e5e7eb;color:#374151}.repeater-rows{display:grid;gap:8px}.repeater-row{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fafafa}.repeater-row .btn{height:42px}.subtle-card{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fafbfc}.subtle-card h3{margin:0 0 9px;font-size:15px}.metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px;border-bottom:1px solid var(--line)}.metric-list strong{direction:ltr}.scroll-panel{max-height:540px;overflow:auto}.timeline{display:grid;gap:0}.timeline>div{border-right:3px solid var(--brand2);padding:9px 13px}.timeline small{display:block;color:var(--muted)}.danger-zone{border-color:#fecaca;background:#fffafa}.hidden{display:none!important}.ltr{direction:ltr;text-align:right}.text-ok{color:var(--ok)}.text-bad{color:var(--danger)}.text-warn{color:#b36b00}.nowrap{white-space:nowrap}.empty-state{text-align:center;color:var(--muted);padding:28px}.data-freshness{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}.document-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:9px}.document-card header{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.document-card p{margin:3px 0}.approval-card{border-right:4px solid #f59f00}.integration-error{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;color:var(--danger);max-height:90px;overflow:auto}.print-only{display:none}
@media(max-width:1200px){.erp-kpis{grid-template-columns:repeat(2,1fr)}.erp-grid.three{grid-template-columns:1fr 1fr}.erp-form-grid{grid-template-columns:repeat(2,1fr)}.repeater-row{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:760px){.erp-grid,.erp-grid.three,.erp-form-grid,.erp-form-grid.two,.erp-kpis,.metric-list{grid-template-columns:1fr}.repeater-row{grid-template-columns:1fr}.erp-toolbar{align-items:stretch}.erp-toolbar form{display:grid;width:100%}.erp-actions form{width:100%;display:grid;grid-template-columns:1fr auto}}
@media print{.erp-toolbar,.erp-actions,.no-print{display:none!important}.erp-kpis{grid-template-columns:repeat(4,1fr)}.print-only{display:block}}
.attachment-box{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.attachment-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.attachment-links a{color:var(--brand);border:1px solid var(--line);border-radius:7px;padding:4px 8px;font-size:12px}.attachment-form{display:flex;align-items:center;gap:7px}.attachment-form input[type=file]{max-width:250px;padding:6px}.document-card>.erp-grid{margin-top:10px}.document-card details{min-width:0}.document-card details form{margin-top:10px}
.selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.selection-card{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fafbfc;cursor:pointer}.selection-card:has(input:checked){border-color:var(--brand);background:#f4f1ff}.selection-card input{width:auto}.selection-card span{display:grid;min-width:0}.selection-card small{color:var(--muted)}
@media(max-width:900px){.selection-grid{grid-template-columns:1fr}}
.notification-unread{border-right:4px solid var(--brand);background:#faf9ff}

/* RYZM retail operations shell — 2026 redesign */
::selection{background:var(--brand);color:#fff}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;top:10px;right:10px;padding:9px 14px;background:var(--charcoal);color:#fff;border-radius:var(--radius-xs);transform:translateY(-150%);transition:transform .15s}
.skip-link:focus{transform:translateY(0)}
.app-body{min-width:320px;background:linear-gradient(180deg,#f7f7f5 0,var(--bg) 220px)}
.app-shell{min-height:100vh}
.app-stage{min-height:100vh;margin-right:var(--sidebar-w);display:flex;flex-direction:column;transition:margin .2s ease}

.sidebar{position:fixed;inset:0 0 0 auto;z-index:60;width:var(--sidebar-w);height:100vh;background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-10px 0 35px rgba(34,34,34,.035)}
.sidebar-head{height:var(--header-h);padding:0 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex:none}
.sidebar-head .brand{min-width:0}
.brand-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;direction:ltr;line-height:1}
.brand-word{display:flex;align-items:center;gap:1px;color:var(--charcoal);font:900 25px/1 "Arial Black","Segoe UI Black",Arial,sans-serif;letter-spacing:-2.6px}
.brand-word i{display:block;width:4px;height:23px;background:var(--brand);transform:skew(-13deg);margin:0 1px}
.brand-caption{margin-top:5px;color:var(--muted);font:700 8px/1.1 Arial,sans-serif;letter-spacing:3.25px}
.brand-lockup.is-compact .brand-word{font-size:20px}.brand-lockup.is-compact .brand-word i{height:18px}.brand-lockup.is-compact .brand-caption{font-size:6px;letter-spacing:2.6px}
.sidebar-close{display:none}
.sidebar-nav{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 13px 20px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.nav-section{margin:0 0 17px}
.nav-section h2{margin:0 11px 6px;color:#737373;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nav-section-items{display:grid;gap:3px}
.navlink{position:relative;width:100%;min-height:48px;padding:7px 10px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:9px;background:transparent;color:#565656;font-size:13px;font-weight:500;white-space:normal;text-align:right;transition:background .15s,color .15s,transform .15s}
.navlink::before{content:"";position:absolute;right:-13px;top:9px;bottom:9px;width:3px;border-radius:3px 0 0 3px;background:transparent}
.navlink:hover{background:#f5f5f3;color:var(--charcoal);transform:translateX(-1px)}
.navlink.active{background:var(--brand-soft);color:var(--brand)}
.navlink.active::before{background:var(--brand)}
.nav-icon{width:20px;height:20px;display:block;overflow:visible;flex:none}
.nav-icon path,.nav-icon circle{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.nav-copy{min-width:0;display:grid;line-height:1.3}
.nav-copy strong{font-size:13px;font-weight:750;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-copy small{margin-top:3px;color:#777;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.navlink.active .nav-copy small{color:#a63d49}
.navlink.is-legacy{opacity:.76}
.navlink .badge{min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border:2px solid #fff;font-size:10px}
.sidebar-foot{flex:none;margin:0 13px 14px;padding-top:13px;border-top:1px solid var(--line)}
.store-link{display:grid;grid-template-columns:21px 1fr 14px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:.15s}
.store-link:hover{border-color:#ed9ba5;background:var(--brand-soft);color:var(--brand)}
.store-link>span{display:grid;line-height:1.25}.store-link strong{font-size:12px}.store-link small{color:var(--muted);font-size:10px;margin-top:3px}
.sidebar-foot>p{display:flex;align-items:center;gap:7px;margin:10px 8px 0;color:var(--muted);font-size:10px}
.sidebar-foot>p span{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(8,122,80,.1)}
.sidebar-backdrop{display:none}

.appbar{position:sticky;top:0;z-index:45;height:var(--header-h);background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.appbar-inner{height:100%;max-width:none;margin:0;padding:0 28px;display:flex;align-items:center;gap:22px}
.topbar-context{display:flex;align-items:center;gap:10px;min-width:175px}
.topbar-context>div{display:grid;line-height:1.25}.topbar-context small{color:var(--muted);font-size:10px}.topbar-context strong{font-size:13px;color:var(--ink);font-weight:750}
.navtoggle{display:none}
.global-search{width:min(520px,42vw);height:42px;margin:auto;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:#f8f8f6;color:var(--muted);transition:border-color .15s,background .15s,box-shadow .15s}
.global-search:focus-within{background:#fff;border-color:var(--brand);box-shadow:var(--ring)}
.global-search .nav-icon{width:17px;height:17px}
.global-search input{height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:12px}
.global-search input:focus{border:0;box-shadow:none}
.global-search kbd{min-width:22px;padding:1px 5px;border:1px solid var(--line);border-bottom-color:var(--line-strong);border-radius:5px;background:#fff;color:var(--muted);font:10px/1.5 Arial,sans-serif;text-align:center}
.appbar-actions{display:flex;align-items:center;gap:8px;flex:none}
.appbar-actions form{margin:0}
.icon-btn{width:39px;height:39px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#626262;box-shadow:none}
.icon-btn:hover{color:var(--brand);border-color:#e8a6ae;background:var(--brand-soft)}
.icon-btn.active{color:var(--brand);border-color:#e8a6ae;background:var(--brand-soft)}
.user-chip{height:42px;padding:4px 5px 4px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:none}
.user-chip:hover{border-color:var(--line-strong);background:var(--surface)}
.avatar{width:31px;height:31px;border-radius:7px;background:var(--charcoal);color:#fff;font-size:12px}
.user-copy{display:grid;line-height:1.2;text-align:right}.user-copy strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.user-copy small{margin-top:3px;color:var(--muted);font-size:9px}
.link-button{color:var(--muted);font-size:11px}.link-button:hover{color:var(--brand);background:var(--brand-soft)}

.content{width:100%;max-width:1660px;margin:0 auto;padding:30px 30px 42px;flex:1}
.page-head{margin-bottom:24px;align-items:flex-end}
.page-title{min-width:0}.page-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:3px;color:var(--brand);font-size:10px;font-weight:800;letter-spacing:.04em}.page-kicker::before{content:"";width:18px;height:2px;background:var(--brand)}
.page-head h1{margin:0;color:var(--warm);font-size:28px;line-height:1.3;font-weight:850;letter-spacing:-.035em}
.page-head p{max-width:780px;margin:5px 0 0;color:var(--muted);font-size:13px}
.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.app-foot{width:calc(100% - 60px);max-width:1600px;margin:0 auto;padding:17px 0 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:11px;color:var(--muted);font-size:10px}
.app-foot b{color:var(--ink);font-weight:800}.app-foot i{width:3px;height:3px;border-radius:50%;background:var(--brand)}

.stat-card,.card,.erp-kpi{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.card{padding:21px;margin-bottom:18px}
.card:hover{border-color:#d4d4d0}
.card h2{color:var(--warm);font-size:16px;font-weight:800}
.section-head{align-items:flex-start}
.section-head h2{margin-bottom:2px}
.stat-card{position:relative;overflow:hidden;padding:19px}
.stat-card::after{content:"";position:absolute;right:0;top:0;width:3px;height:100%;background:var(--brand);opacity:.85}
.stat-card strong{color:var(--charcoal);font-size:30px;font-variant-numeric:tabular-nums}
.stat-card span{color:var(--muted);font-size:12px}
.erp-kpi{position:relative;overflow:hidden;padding:17px 18px}
.erp-kpi::before{content:"";position:absolute;right:0;left:0;top:0;height:2px;background:var(--brand)}
.erp-kpi strong{color:var(--charcoal);font-size:26px;font-weight:850}
.erp-kpi small{color:var(--muted);font-size:11px}
.subtle-card,.document-card,.selection-card{background:#fafaf8;border-color:var(--line);border-radius:9px}
.document-card{transition:border-color .15s,box-shadow .15s}.document-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.activity-row,.list-row{padding:13px 2px}.activity-row:hover,.list-row:hover{background:#fafaf8}

label{color:var(--ink-2);font-size:12px;font-weight:700}
input,select,textarea{min-height:42px;border:1px solid var(--line-strong);border-radius:8px;padding:9px 11px;background:#fff;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}
input:hover,select:hover,textarea:hover{border-color:#ababaa}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--ring)}
input::placeholder,textarea::placeholder{color:#8a8a86}
input[type="checkbox"],input[type="radio"]{min-height:auto;accent-color:var(--brand)}
.btn{min-height:40px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);font-size:12px;font-weight:750;box-shadow:none;transition:transform .12s,border-color .12s,background .12s,color .12s}
.btn:hover{border-color:#a9a9a4;background:#f7f7f5;transform:translateY(-1px)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 9px 20px -12px rgba(218,32,54,.9)}
.btn.primary:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.btn.danger{color:var(--danger);border-color:#efc1c7}.btn.danger:hover{background:#fff1f3;border-color:var(--danger)}
.alert{position:relative;padding:13px 16px 13px 18px;border-radius:9px;border-right-width:4px;font-size:12px}.alert strong{display:block;margin-bottom:4px}
.alert.success{background:#f0faf6;color:#075e40;border-color:#91d4b9}.alert.error{background:#fff1f3;color:#8e1728;border-color:#ee9ca7}
details{border-top:1px solid var(--line);padding:12px 0}summary{color:var(--ink-2);cursor:pointer;font-size:12px;font-weight:750}summary::marker{color:var(--brand)}

.table-wrap{border:1px solid var(--line);border-radius:9px;overflow:auto;background:#fff;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-size:12px}
th{position:relative;background:#f5f5f2;color:#555;font-size:10px;font-weight:800;letter-spacing:.015em}
tbody tr{transition:background .12s}tbody tr:hover{background:#fff8f9}tbody tr:last-child td{border-bottom:0}
td strong{color:var(--ink);font-weight:750}td small{margin-top:2px;color:var(--muted);font-size:10px}
.money{font-variant-numeric:tabular-nums;font-weight:700}
.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #efbac1;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:10px;font-weight:750}
.status-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.status-pill.ok{background:#eaf8f2;color:#08714b;border-color:#b8e1d0}.status-pill.warn{background:#fff7e6;color:#955600;border-color:#efd29d}.status-pill.bad{background:#fff0f2;color:#a71b2e;border-color:#efb3bc}.status-pill.neutral{background:#f1f1ef;color:#60605d;border-color:#d8d8d4}
.pagination{gap:7px;padding:17px 0 2px}.pagination a,.pagination span{padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11px}.pagination a:hover{border-color:var(--brand);color:var(--brand)}

.ui-tabs{margin-bottom:18px}
.ui-tabbar{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:5px;border:1px solid var(--line);border-radius:10px;background:#ececea;scrollbar-width:none}
.ui-tabbar::-webkit-scrollbar{display:none}
.ui-tab{min-height:38px;padding:7px 14px;border:0;border-radius:7px;background:transparent;color:#5d5d59;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer;transition:.15s}
.ui-tab:hover{background:rgba(255,255,255,.6);color:var(--ink)}
.ui-tab.active{background:#fff;color:var(--brand);box-shadow:0 1px 5px rgba(34,34,34,.08)}
.ui-panel{display:none}.ui-panel.active{display:block;animation:panel-in .18s ease}.ui-panel[hidden]{display:none!important}
@keyframes panel-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

.dashboard-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:24px 26px;border-radius:13px;background:var(--charcoal);color:#fff}
.dashboard-hero::after{content:"";position:absolute;left:-45px;top:-75px;width:240px;height:240px;border:58px solid rgba(218,32,54,.82);border-radius:50%}
.dashboard-hero>div,.dashboard-hero>.hero-actions{position:relative;z-index:1}
.dashboard-hero small{color:#d7d7d4;font-size:10px}.dashboard-hero h2{margin:3px 0 5px;color:#fff;font-size:24px}.dashboard-hero p{margin:0;color:#c9c9c5;font-size:12px}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap}.hero-actions .btn{border-color:#555;background:#2c2c2c;color:#fff}.hero-actions .btn:hover{border-color:#fff;background:#fff;color:var(--charcoal)}.hero-actions .btn.primary{border-color:var(--brand);background:var(--brand);color:#fff}
.dashboard-stat{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:16px 17px}
.dashboard-stat::after{display:none}.dashboard-stat .stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:var(--brand-soft);color:var(--brand)}.dashboard-stat .stat-icon .nav-icon{width:20px;height:20px}.dashboard-stat>div{display:grid}.dashboard-stat strong{grid-column:3;font-size:25px}.dashboard-stat span{font-weight:700;color:var(--ink-2)}.dashboard-stat small{color:var(--muted);font-size:9px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:18px;align-items:start}
.dashboard-grid>.card{min-width:0}
.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-link{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fafaf8;transition:.15s}.quick-link:hover{border-color:#e6a3ac;background:var(--brand-soft);color:var(--brand);transform:translateY(-1px)}.quick-link .nav-icon{width:18px;height:18px}.quick-link span{display:grid}.quick-link strong{font-size:11px}.quick-link small{color:var(--muted);font-size:9px}

.workspace-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding:13px 15px;border:1px solid #efc1c7;border-right:4px solid var(--brand);border-radius:9px;background:#fff8f9}.workspace-note>div{display:grid}.workspace-note strong{font-size:12px}.workspace-note p{margin:3px 0 0;color:var(--muted);font-size:10px}.workspace-note .source-legend{justify-content:flex-end}
.source-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.source-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:9px;font-weight:700}.source-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted-soft)}.source-chip.shopify::before{background:#7ab55c}.source-chip.erp::before{background:var(--charcoal)}.source-chip.missing::before{background:var(--brand)}
.master-coverage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.coverage-card{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}.coverage-card strong{display:block;font-size:20px;font-variant-numeric:tabular-nums}.coverage-card span{color:var(--muted);font-size:10px}.coverage-card.direct strong{color:var(--ok)}.coverage-card.review strong{color:var(--warning)}.coverage-card.missing strong{color:var(--brand)}
.master-table{min-width:1950px;direction:ltr}.master-table th,.master-table td{text-align:left}.master-table th{border-top:3px solid transparent}.master-table th.group-identity{border-top-color:var(--charcoal)}.master-table th.group-classification{border-top-color:var(--brand)}.master-table th.group-stock{border-top-color:var(--info)}.master-table th.group-price{border-top-color:var(--ok)}
.master-table-wrap{direction:ltr}
.master-table td.item-name{min-width:190px;white-space:normal}.master-table .field-missing{color:#9a5d65;background:#fff7f8;font-style:italic}.master-table .field-restricted{color:var(--muted);background:#f5f5f2}.master-table .derived{color:var(--info)}
.product-thumb{width:42px;height:42px;flex:none;border:1px solid var(--line);border-radius:7px;object-fit:cover;background:#f2f2ef}.product-thumb.placeholder{display:grid;place-items:center;color:var(--muted);font-size:9px}
.catalog-product{display:flex;align-items:center;gap:10px;min-width:210px}.catalog-product>span{display:grid;min-width:0}.catalog-product strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-product small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty-state{padding:42px 24px;color:var(--muted)}.empty-state strong{display:block;margin-bottom:4px;color:var(--ink);font-size:13px}

.auth-page{position:relative;overflow:hidden;padding:24px;background:linear-gradient(135deg,#222 0,#222 48%,#da2036 48%,#b9182b 100%)}
.auth-page::before{content:"RYZM";position:fixed;left:-22px;bottom:-82px;color:rgba(255,255,255,.055);font:900 220px/1 Arial Black,Arial,sans-serif;letter-spacing:-20px;direction:ltr}
.auth-card{position:relative;width:min(430px,94vw);padding:37px 36px 34px;border:0;border-radius:13px;box-shadow:0 24px 80px rgba(0,0,0,.28);text-align:right}.auth-card>.brand-lockup{margin-bottom:26px}.auth-card h1{margin:0 0 3px;color:var(--warm);font-size:25px}.auth-card>p{margin:0 0 22px}.auth-card .btn.primary{width:100%;margin-top:4px}

@media(max-width:1280px){
    :root{--sidebar-w:264px}
    .sidebar-head{padding:0 18px}.sidebar-nav{padding-inline:10px}.navlink::before{right:-10px}
    .content{padding-inline:22px}.appbar-inner{padding-inline:22px}.global-search{width:min(400px,36vw)}
    .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1100px){
    .app-stage{margin-right:0}
    .sidebar{transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 55px rgba(34,34,34,.18)}
    .sidebar.open{transform:translateX(0)}
    .sidebar-close,.navtoggle{display:grid}
    .sidebar-backdrop{position:fixed;inset:0;z-index:55;background:rgba(21,21,21,.46);backdrop-filter:blur(2px)}
    body.nav-open{overflow:hidden}body.nav-open .sidebar-backdrop{display:block}
    .topbar-context{min-width:auto}.topbar-context>div{display:none}
    .appbar-inner{padding-inline:16px;gap:12px}.global-search{width:auto;flex:1;max-width:520px}
    .content{padding:23px 18px 36px}.app-foot{width:calc(100% - 36px)}
    .dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    :root{--header-h:64px}
    .sidebar{width:min(300px,88vw)}
    .appbar-inner{padding-inline:12px}.global-search{display:none}.user-copy,.link-button{display:none}.user-chip{padding:4px;border:0;background:transparent}.icon-btn{width:38px;height:38px}
    .content{padding:19px 12px 30px}.page-head{margin-bottom:17px;align-items:flex-start}.page-head h1{font-size:22px}.page-head p{font-size:11px}.page-actions{width:100%}.page-actions .btn{flex:1}
    .card{padding:15px;border-radius:10px}.stats-grid,.erp-kpis{grid-template-columns:1fr 1fr;gap:9px}.dashboard-stat{grid-template-columns:36px 1fr auto;padding:13px}.dashboard-stat .stat-icon{width:36px;height:36px}.dashboard-stat strong{font-size:21px}
    .dashboard-hero{padding:19px;align-items:flex-start;flex-direction:column}.dashboard-hero h2{font-size:20px}.dashboard-hero::after{left:-100px}.hero-actions{width:100%}.hero-actions .btn{flex:1}
    .quick-links{grid-template-columns:1fr}.workspace-note{align-items:stretch;flex-direction:column}.source-legend{justify-content:flex-start!important}.master-coverage{grid-template-columns:1fr 1fr 1fr}.coverage-card{padding:10px}.coverage-card strong{font-size:17px}
    .erp-toolbar{align-items:stretch}.erp-toolbar form{width:100%}.erp-toolbar form label{flex:1}.erp-toolbar .btn{width:100%}
    .ui-tabbar{border-radius:8px}.ui-tab{padding-inline:11px}
    .app-foot{align-items:flex-start;flex-direction:column;gap:4px}.app-foot i{display:none}
}
@media(max-width:460px){
    .stats-grid,.erp-kpis{grid-template-columns:1fr}.master-coverage{grid-template-columns:1fr}.page-head h1{font-size:20px}
}
@media print{
    .sidebar,.sidebar-backdrop,.appbar{display:none!important}.app-stage{margin:0}.content{padding:0;max-width:none}.app-foot{display:none}.card{box-shadow:none}
}

/* Remove the former violet campaign accents in favor of the RYZM retail palette. */
.progress-track span{background:linear-gradient(90deg,var(--brand),var(--brand-ink))}
.campaign-day-card:hover{background:#fff8f9}
.type-reel{background:var(--brand-soft);color:var(--brand-ink)}
.campaign-day-card.status-generating{border-bottom-color:var(--brand)}
.selection-card:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.shooting-copy code,.requirement-head code{color:var(--brand)}

/* Integration settings */
.connection-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.connection-card{position:relative;min-height:128px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow-sm);display:grid;gap:8px;align-content:start;overflow:hidden}
.connection-card::before{content:"";position:absolute;inset-block:0;right:0;width:3px;background:var(--danger)}
.connection-card.ok::before{background:var(--ok)}.connection-card.warn::before{background:var(--warning)}.connection-card.neutral::before{background:var(--muted)}
.connection-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.connection-card header>span{color:var(--ink);font-size:13px;font-weight:850}
.connection-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.connection-card small{color:var(--ink-2);font-size:10px;line-height:1.5}
.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.setup-grid>div{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.setup-grid strong{display:block;margin-bottom:4px;color:var(--ink);font-size:12px}
.setup-grid p{margin:0;color:var(--muted);font-size:11px}
.api-table td{vertical-align:top;white-space:normal}.api-table td:first-child{min-width:190px}.api-table small{display:block;margin-top:2px;color:var(--muted)}
.connection-note{margin:12px 0 0}
.integration-form{display:grid;gap:0}
.integration-section .section-head{margin-bottom:15px}
.endpoint-row{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.endpoint-row span{color:var(--ink-2);font-size:11px;font-weight:800}
.endpoint-row code{direction:ltr;text-align:left;display:block;overflow:auto;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--brand);font:11px/1.5 Consolas,monospace;white-space:nowrap}
.connection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.connection-toggle{min-height:42px;padding-top:20px}
.save-bar{position:sticky;bottom:15px;z-index:30;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:-3px;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(12px);box-shadow:var(--shadow)}
.save-bar .save-settings{position:static;bottom:auto}
.connection-feedback{color:var(--ink-2);font-size:12px;font-weight:700}
@media(max-width:1180px){.connection-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-grid{grid-template-columns:1fr}}
@media(max-width:680px){.connection-overview{grid-template-columns:1fr}.endpoint-row{grid-template-columns:1fr}.connection-actions .btn,.save-bar .btn{width:100%}.save-bar{align-items:stretch}.connection-feedback{width:100%}}
