/* v64 local Readex Pro font support. Put font files in /static/fonts/readex-pro/ */
@font-face{font-family:'Readex Pro';src:url('/static/fonts/readex-pro/ReadexPro-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Readex Pro';src:url('/static/fonts/readex-pro/ReadexPro-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Readex Pro';src:url('/static/fonts/readex-pro/ReadexPro-SemiBold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Readex Pro';src:url('/static/fonts/readex-pro/ReadexPro-Bold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap;}
html,body,button,input,select,textarea,.btn,.form-control,.form-select,.dropdown-menu,.modal,.table{font-family:var(--app-font,'Tajawal',system-ui,sans-serif)!important;}

@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap');
:root{--bg:#f5f7fb;--ink:#14213d;--muted:#6b7280;--navy:#102a43;--teal:#1d5c63;--gold:#d6a84f;--card:#ffffff;--line:#e5e7eb;--soft:#edf4f5;--danger:#dc3545;--success:#198754;--warning:#f0ad4e;--info:#0dcaf0;}
*{box-sizing:border-box} body{font-family:'Tajawal',system-ui,sans-serif;background:var(--bg);color:var(--ink);margin:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:290px;background:linear-gradient(180deg,#0e2438,#15384d 55%,#102a43);color:#fff;padding:22px;position:fixed;inset-block:0;right:0;display:flex;flex-direction:column;gap:20px;box-shadow:-20px 0 40px rgba(16,42,67,.14)}.brand{display:flex;gap:12px;align-items:center;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--gold),#fff1bc);color:#102a43;display:grid;place-items:center;font-weight:900}.brand-mark.big{width:64px;height:64px;margin:auto;font-size:22px}.brand span,.user-box span{display:block;color:#bfd3df;font-size:12px}.sidebar nav{display:grid;gap:8px}.nav-link{color:#dce8ef;text-decoration:none;padding:12px 14px;border-radius:16px;display:flex;gap:10px;align-items:center;transition:.2s}.nav-link:hover,.nav-link.primary{background:rgba(255,255,255,.11);color:#fff;transform:translateX(-3px)}.nav-link.primary{border:1px solid rgba(214,168,79,.45)}.user-box{margin-top:auto;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1);padding:12px;border-radius:18px;display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;background:#fff;color:#102a43;border-radius:12px;display:grid;place-items:center;font-weight:800}.logout{margin-inline-start:auto;color:#fff}.main{margin-right:290px;width:calc(100% - 290px);padding:30px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.topbar h1{font-weight:800;margin:0;font-size:30px}.topbar p{color:var(--muted);margin:6px 0 0}.btn-premium{background:linear-gradient(135deg,var(--teal),#173c4e);color:#fff;border:0;border-radius:14px;padding:10px 18px;box-shadow:0 10px 20px rgba(29,92,99,.18)}.btn-premium:hover{color:#fff;filter:brightness(1.06)}.btn-soft{background:#eef2f7;border:1px solid #dbe1ea;color:#102a43}.btn-soft-success{background:#eaf8f1;border:1px solid #c9ead9;color:#087a40}.btn-soft-danger{background:#fff0f1;border:1px solid #ffd3d8;color:#b02030}.panel,.filter-card,.metric-card,.approval-card,.client-card{background:rgba(255,255,255,.92);border:1px solid rgba(229,231,235,.85);box-shadow:0 14px 36px rgba(16,42,67,.07);border-radius:24px;padding:20px}.filter-card{margin-bottom:18px}.grid-filter{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.workflow-strip{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff,#eef6f7);border:1px solid #d8e6ea;border-radius:24px;padding:18px;margin-bottom:20px}.workflow-strip div{display:flex;align-items:center;gap:10px}.workflow-strip span{width:34px;height:34px;border-radius:12px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:800}.workflow-strip strong{display:block}.workflow-strip small{display:block;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{display:flex;gap:14px;align-items:center}.metric-icon{width:50px;height:50px;border-radius:18px;background:var(--soft);color:var(--teal);display:grid;place-items:center;font-size:24px}.metric-title{color:var(--muted);font-size:13px}.metric-value{font-size:28px;font-weight:800}.metric-hint{font-size:12px;color:var(--muted)}.section-head,.approval-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.panel h3,.approval-card h3{font-weight:800;font-size:20px;margin-bottom:15px}.mini-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.mini-row span{display:block;color:var(--muted);font-size:12px}.empty{color:var(--muted);margin:0}.premium-table{border-collapse:separate;border-spacing:0 10px}.premium-table thead th{background:#102a43;color:#fff;border:0}.premium-table thead th:first-child{border-radius:0 14px 14px 0}.premium-table thead th:last-child{border-radius:14px 0 0 14px}.premium-table tbody tr{background:#fff;box-shadow:0 7px 20px rgba(16,42,67,.05)}.premium-table tbody td{border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;padding:14px}.badge-warning{background:#fff3cd;color:#8a5b00}.badge-success{background:#d1e7dd;color:#0f5132}.badge-danger{background:#f8d7da;color:#842029}.badge-info{background:#cff4fc;color:#055160}.badge-dark{background:#212529;color:white}.badge-secondary{background:#e2e3e5;color:#41464b}.form-panel label{font-weight:700;color:#334155;margin-bottom:7px}.form-control,.form-select{border-radius:14px;border:1px solid #dbe3ea;padding:10px 13px}.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .2rem rgba(29,92,99,.12)}.form-section-title{font-weight:800;color:#102a43;border-right:5px solid var(--gold);padding-right:10px;margin:22px 0 14px;font-size:18px}.workflow-note{background:#fff8e7;border:1px solid #ffe3a3;border-radius:16px;padding:12px;color:#7a5200}.approval-grid{display:grid;gap:18px}.content-preview{background:#f8fafc;border:1px dashed #d9e2ec;border-radius:18px;padding:14px;line-height:1.9}.approval-box{border:1px solid #e6eef2;border-radius:18px;padding:14px;background:#fff}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.client-card h3{font-weight:800}.client-stats{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.client-stats span{background:#eef6f7;border-radius:12px;padding:7px 10px;font-size:13px}.client-actions{display:flex;gap:7px;flex-wrap:wrap}.client-actions a{background:#102a43;color:white;text-decoration:none;border-radius:12px;padding:7px 10px;font-size:13px}.calendar-wrap{background:white;border-radius:24px;padding:18px;border:1px solid var(--line);box-shadow:0 14px 36px rgba(16,42,67,.07)}.calendar-head,.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-head span{text-align:center;font-weight:800;background:#102a43;color:white;border-radius:14px;padding:10px}.calendar-week{margin-top:10px}.calendar-day{min-height:150px;background:#f8fafc;border:1px solid #e5edf3;border-radius:18px;padding:10px}.calendar-day.muted{opacity:.35}.day-number{font-weight:900;color:var(--teal);margin-bottom:8px}.calendar-item{background:white;border-right:4px solid var(--gold);border-radius:14px;padding:9px;margin-bottom:8px;box-shadow:0 5px 15px rgba(0,0,0,.04)}.calendar-item b,.calendar-item span{display:block}.calendar-item span{font-size:12px;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#d8edf0,transparent 35%),linear-gradient(135deg,#102a43,#1d5c63)}.login-card{width:min(480px,92vw);background:#fff;border-radius:30px;padding:34px;box-shadow:0 30px 70px rgba(0,0,0,.22)}.login-brand{text-align:center;margin-bottom:22px}.login-brand h1{font-weight:900}.login-brand p{color:var(--muted)}.demo-users{display:grid;gap:5px;margin-top:18px;color:#64748b;font-size:12px;text-align:center}@media(max-width:1100px){.sidebar{position:static;width:100%}.app-shell{display:block}.main{margin:0;width:100%}.metric-grid,.client-grid{grid-template-columns:repeat(2,1fr)}.grid-filter{grid-template-columns:1fr 1fr}}@media(max-width:700px){.metric-grid,.client-grid,.grid-filter{grid-template-columns:1fr}.topbar{display:block}.calendar-head,.calendar-week{grid-template-columns:1fr}.workflow-strip{display:grid;gap:10px}.workflow-strip i{display:none}}@media print{.sidebar,.topbar .top-actions,.filter-card,.btn,.nav-link{display:none!important}.main{margin:0;width:100%;padding:0}.panel,.metric-card{box-shadow:none}.topbar{display:block}.app-shell{display:block}}

/* v7 attachments and premium export controls */
.attachment-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .55rem;border-radius:999px;background:#eef7f8;border:1px solid #cfe4e7;color:#17434a;text-decoration:none;font-size:.82rem;font-weight:700;max-width:220px}
.attachment-pill:hover{background:#dff1f3;color:#102f35}
.attachment-pill img{width:34px;height:34px;border-radius:10px;object-fit:cover;border:1px solid #d9e2e8;background:white}
.attachment-pill.lg{border-radius:18px;padding:.65rem;background:#f8fbfc;width:100%;max-width:100%;justify-content:flex-start}
.attachment-pill.lg img{width:92px;height:70px;border-radius:14px;box-shadow:0 8px 24px rgba(16,37,54,.12)}
.attachment-pill.sm img{width:28px;height:28px;border-radius:8px}.form-hint{font-size:.78rem;color:#7a8b98;margin-top:.35rem}.tiny-attach{display:inline-flex;gap:.25rem;align-items:center;font-size:.72rem;text-decoration:none;color:#1D5C63;margin-top:.2rem}.calendar-item .tiny-attach{display:block}.btn-premium .bi,.btn-light .bi{margin-left:.25rem}
@media print{.sidebar,.topbar,.filter-card,.top-actions{display:none!important}.main{margin:0!important;padding:0!important}.print-page{box-shadow:none!important}}
.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}.task-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.task-timeline div{background:#f6f8fa;border:1px solid #dfe7ee;border-radius:16px;padding:12px}.task-timeline span{display:block;font-size:.78rem;color:#6b7b88;margin-bottom:6px}.task-timeline strong{font-size:.85rem;color:#12324a}.task-card .content-preview{background:#fbfcfd;border-radius:18px;padding:14px;border:1px solid #e4ebf0}.badge-info{background:#dff4f8;color:#12616c}.badge-secondary{background:#e9edf1;color:#586878}.badge-success{background:#dff3e8;color:#126b42}.badge-warning{background:#fff3cd;color:#8a6500}.badge-danger{background:#f8d7da;color:#842029}.badge-dark{background:#12324a;color:#fff}.btn-soft-danger{background:#fde7ea;color:#a1192d;border:0}.btn-soft-danger:hover{background:#facbd2;color:#8b1023}

/* v11 attachment modal */
button.attachment-pill{border:0;text-align:right;background:rgba(255,255,255,.75);cursor:pointer}
button.attachment-pill:hover{transform:translateY(-1px)}
button.tiny-attach{border:0;background:rgba(15,23,42,.08);border-radius:999px;padding:4px 8px;font-size:11px;color:inherit;display:inline-flex;gap:4px;align-items:center;cursor:pointer}
.attachment-modal .modal-content{border:0;border-radius:26px;overflow:hidden;box-shadow:0 28px 90px rgba(15,23,42,.28)}
.attachment-modal .modal-header{background:linear-gradient(135deg,#0f172a,#334155);color:#fff;border:0;padding:16px 22px}
.attachment-modal .modal-header .btn-close{filter:invert(1);opacity:.95}
.attachment-modal .modal-body{background:#f8fafc;min-height:360px;padding:18px}
.attachment-modal-frame{width:100%;height:72vh;border:0;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.attachment-modal-image{display:block;max-width:100%;max-height:72vh;margin:auto;border-radius:18px;box-shadow:0 18px 60px rgba(15,23,42,.18);background:#fff}
.attachment-modal .modal-footer{border:0;background:#fff;padding:14px 22px}
.duration-box { background: linear-gradient(135deg,#fff7e8,#ffffff); border-color: #f1d49b !important; }
.rating-panel { border: 1px solid rgba(215,168,75,.35); background: linear-gradient(135deg, rgba(255,250,238,.95), rgba(255,255,255,.9)); border-radius: 22px; padding: 16px; }
.rating-stars { display:flex; align-items:center; gap:4px; color:#d7a84b; font-size:1.05rem; }
.rating-stars strong { color:#12324a; margin-inline-start:8px; }
.rating-note { background:#fff; border:1px dashed #e7d2a4; color:#5f4b1f; padding:10px 12px; border-radius:14px; }
.rating-badge { display:inline-flex; align-items:center; justify-content:center; min-width:72px; padding:7px 12px; border-radius:999px; color:#6b4a05; background:linear-gradient(135deg,#fff3c4,#fff); border:1px solid #ead08a; font-weight:800; }
.language-switch{display:flex;gap:8px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.08);}
.lang-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:800;font-size:12px;border:1px solid rgba(255,255,255,.12)}
.lang-pill.active{background:#f5c451;color:#12263a;border-color:#f5c451}
.dir-ltr .sidebar{left:0;right:auto}.dir-ltr .main{margin-right:0;margin-left:290px}.dir-ltr .premium-table,.dir-ltr .panel,.dir-ltr .topbar{text-align:left}.dir-ltr .logout{margin-left:auto;margin-right:0}
@media(max-width: 992px){.dir-ltr .main{margin-left:0}}

/* v22 bilingual direction polish */
body.dir-ltr { direction: ltr; text-align: left; }
body.dir-ltr .sidebar { left: 0; right: auto; }
body.dir-ltr .main { margin-left: var(--sidebar-width); margin-right: 0; }
body.dir-ltr .nav-link i { margin-right: 8px; margin-left: 0; }
body.dir-ltr .premium-table th, body.dir-ltr .premium-table td { text-align: left; }
body.dir-ltr .brand, body.dir-ltr .user-box, body.dir-ltr .section-title { direction: ltr; }

.timeline-item{border-right:3px solid rgba(15,118,110,.25);padding:10px 14px;margin:10px 0;background:rgba(255,255,255,.55);border-radius:16px}.dir-ltr .timeline-item{border-right:0;border-left:3px solid rgba(15,118,110,.25)}.timeline-item span{display:block;color:#64748b;font-size:.8rem;margin:.2rem 0}.attachment-row{padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;margin-bottom:10px;background:#fff}.attachment-row small{display:block;color:#64748b;margin:4px 0}.panel-soft{background:rgba(15,118,110,.04);border-radius:18px;border:1px solid rgba(15,118,110,.08)}

/* v27 UI/UX polish */
:root{--card-radius:24px;--surface:#ffffff;--surface-soft:#f7fafc;--ink:#0f2742;--ink-2:#33566f;--accent:#0f766e;--accent-soft:#e6f7f5;--gold-soft:#fff7df}
.topbar h1{letter-spacing:-.03em}.topbar p{font-size:15px}.panel,.approval-card,.task-card{border-radius:var(--card-radius)!important;border:1px solid rgba(15,39,66,.08)!important;box-shadow:0 18px 45px rgba(15,39,66,.07)!important}.ux-card{background:linear-gradient(180deg,#fff,#fbfdff)}.eyebrow{display:block;color:#64748b;font-size:13px;font-weight:700;margin-bottom:8px}.ux-section-title{font-weight:900;color:var(--ink);font-size:15px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.ux-section-title:before{content:"";width:6px;height:20px;border-radius:10px;background:linear-gradient(180deg,#0f766e,#f3c24b)}.ux-preview p{margin-bottom:8px}.mini-attachment-title{font-weight:900;color:var(--ink-2);font-size:13px;margin-bottom:8px}.task-action-zone{background:rgba(15,118,110,.035);border:1px solid rgba(15,118,110,.08);border-radius:22px;padding:14px}.completion-box{width:100%;border-radius:22px;padding:18px;background:linear-gradient(135deg,#f8fffe,#fff);border:1px solid rgba(15,118,110,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.rating-summary.compact{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.rating-summary.compact span{background:var(--gold-soft);border:1px solid #f2d99a;color:#6b4a05;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800}.workflow-note.ux-note{border-radius:20px;background:linear-gradient(135deg,#fff8e6,#ffffff);border:1px solid #f4d898;font-weight:700}.form-section-title{margin-top:28px}.form-panel{max-width:1180px;margin-inline:auto}.form-panel .workflow-note{font-size:14px}.premium-table thead th{white-space:nowrap}.premium-table tbody td{vertical-align:middle}.attachment-row{transition:.18s ease}.attachment-row:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,39,66,.07)}.btn-premium,.btn-soft-success{box-shadow:0 10px 24px rgba(15,118,110,.16)}.alert{border-radius:18px}.task-grid-polished{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}@media(max-width:600px){.task-grid-polished{grid-template-columns:1fr}.task-timeline{grid-template-columns:1fr}.content-preview .row>*{margin-bottom:8px}}

/* v28 UI/UX control polish */
.sidebar{background:linear-gradient(180deg,#092236 0%,#10364c 56%,#0b2539 100%)}
.nav-link.active{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.12)}
.page-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#0f2742,#0f766e);color:#fff;border-radius:28px;padding:22px 24px;margin-bottom:22px;box-shadow:0 18px 48px rgba(15,39,66,.18)}
.page-banner h2{font-weight:900;margin:0}.page-banner p{margin:5px 0 0;color:rgba(255,255,255,.78)}
.workflow-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0 20px}.workflow-step{background:#fff;border:1px solid #e6edf3;border-radius:18px;padding:10px;min-height:78px;position:relative;overflow:hidden}.workflow-step strong{display:block;font-size:12px;color:#0f2742}.workflow-step span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#e8eef4;color:#64748b;font-weight:900;margin-bottom:6px}.workflow-step.done{background:linear-gradient(135deg,#ecfdf5,#ffffff);border-color:#cdeede}.workflow-step.done span{background:#16a34a;color:#fff}.workflow-step.active{background:linear-gradient(135deg,#fff7df,#ffffff);border-color:#eac56b;box-shadow:0 10px 24px rgba(214,168,79,.16)}.workflow-step.active span{background:#d6a84f;color:#fff}.workflow-step.wait{opacity:.7}.info-label{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#334155;font-size:12px;font-weight:800}.section-caption{color:#64748b;font-size:13px;margin-top:-4px;margin-bottom:14px}.table-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.premium-table td small{line-height:1.65}.content-title-cell strong{font-size:15px}.content-title-cell .subtitle{color:#64748b;max-width:270px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.private-note{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:10px 12px;color:#475569;font-size:13px}.saving-overlay{position:fixed;inset:0;background:rgba(8,22,35,.42);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:9999}.saving-overlay.show{display:flex}.saving-card{background:#fff;border-radius:26px;padding:28px;min-width:280px;display:grid;gap:10px;place-items:center;box-shadow:0 26px 80px rgba(0,0,0,.25);color:#0f2742}.saving-card span{color:#64748b;font-size:13px}.attachment-center-title{font-weight:900;font-size:18px;margin:0}.attachment-center-subtitle{color:#64748b;font-size:13px;margin:4px 0 14px}.completion-box.is-disabled{opacity:.6;filter:grayscale(.2)}
@media(max-width:1200px){.workflow-stepper{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.workflow-stepper{grid-template-columns:1fr}.page-banner{display:block}.premium-table{font-size:13px}}

/* v29 Role-Based UX Refactor */
:root{--sidebar-width:270px;--compact-radius:20px;--muted-2:#8190a3;}
.sidebar-compact{width:var(--sidebar-width);padding:18px;gap:14px}.sidebar-compact .brand{padding-bottom:12px}.sidebar-compact .brand-mark{width:40px;height:40px;border-radius:14px}.sidebar-compact nav{gap:5px}.sidebar-compact .nav-link{padding:10px 12px;border-radius:14px;font-size:14px}.main-compact{margin-right:var(--sidebar-width);width:calc(100% - var(--sidebar-width));padding:24px;max-width:1540px}.topbar-compact{margin-bottom:16px}.topbar-compact h1{font-size:28px}.topbar-compact p{min-height:18px;font-size:14px}.role-grid{display:grid;gap:14px;margin-bottom:14px}.role-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.role-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.role-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.role-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.compact-panel{padding:18px;border-radius:var(--compact-radius)!important}.compact-panel h3{font-size:18px;margin-bottom:12px}.compact-chart{height:260px;max-height:260px}.compact-chart canvas{max-height:260px!important}.mini-metric{min-height:96px}.mini-metric .metric-icon{width:42px;height:42px;font-size:20px}.mini-metric .metric-value,.role-grid .metric-value{font-size:24px}.task-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;border-bottom:1px solid #edf2f7}.task-line:last-child{border-bottom:0}.task-line small{display:block;color:var(--muted-2);font-size:12px;margin-top:2px}.zero-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:18px;color:#64748b;text-align:center}.compact-table{font-size:14px}.compact-table tbody td{padding:10px 12px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{min-height:104px}.panel canvas{width:100%!important}/* v88: removed legacy role-based nav hiding; sidebar visibility is permission-driven only */.dir-ltr .main-compact{margin-left:var(--sidebar-width);margin-right:0}.dir-ltr .sidebar-compact{left:0;right:auto}@media(max-width:1200px){.role-grid.four{grid-template-columns:repeat(2,1fr)}.role-layout{grid-template-columns:1fr}.compact-chart{height:220px}}@media(max-width:992px){.sidebar-compact{position:static;width:100%;min-height:auto}.main-compact{margin:0;width:100%;padding:16px}.app-shell{display:block}.role-grid.two,.role-grid.three,.role-grid.four{grid-template-columns:1fr}}

/* v30: Details + approvals polish and stronger visual hierarchy */
.main-compact{max-width:1480px}.panel,.approval-card,.filter-card{box-shadow:0 10px 28px rgba(16,42,67,.055)}.filter-slim{padding:14px 16px}.filter-slim label{font-size:12px;color:#64748b;font-weight:800}.topbar-compact h1{font-size:26px}.topbar-compact p{font-size:13px;color:#7b8a9c}.metric-card{min-height:92px}.metric-value{font-size:23px}.compact-chart{height:210px;max-height:210px}.compact-chart canvas{max-height:210px!important}.content-table-v30 th,.content-table-v30 td{white-space:nowrap}.content-table-v30 .content-title-cell{white-space:normal;min-width:240px}.attachment-stack{display:grid;gap:5px}.attachment-stack span{display:flex;gap:6px;align-items:center;white-space:nowrap}.detail-hero{margin-bottom:14px}.detail-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.detail-headline h2{font-size:24px;font-weight:900;margin:4px 0 0}.detail-tabs{background:#fff;border:1px solid #e5edf4;border-radius:20px;padding:8px;box-shadow:0 10px 26px rgba(16,42,67,.05)}.detail-tabs .nav-link{border-radius:14px;color:#334155;font-weight:800}.detail-tabs .nav-link.active{background:#12324a;color:#fff}.summary-box{display:grid;gap:12px}.summary-box p{background:#f8fafc;border:1px solid #edf2f7;border-radius:16px;padding:12px;margin:0;line-height:1.8}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kv-grid div{background:#f8fafc;border:1px solid #e8eef5;border-radius:16px;padding:11px}.kv-grid span{display:block;color:#748196;font-size:12px;margin-bottom:5px}.kv-grid b{font-size:13px}.attachment-form-v30 label{font-weight:800;color:#42526a;font-size:12px}.attachment-list-v30{display:grid;gap:9px}.rating-privacy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rating-card{background:#f8fafc;border:1px solid #e8eef5;border-radius:18px;padding:14px}.rating-card span{display:block;color:#64748b;font-size:12px}.rating-card b{display:block;font-size:22px;color:#102a43;margin:4px 0}.rating-card small{color:#64748b}.approval-grid-v30{grid-template-columns:1fr}.approval-card-v30{padding:18px}.approval-body-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.75fr);gap:14px}.compact-panel-soft{background:#f8fafc;border:1px solid #e9eff5;border-radius:18px;padding:14px}.approval-summary p{margin:4px 0 12px;line-height:1.7}.mini-files{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.mini-files>div{background:#fff;border:1px solid #e6edf3;border-radius:16px;padding:10px}.mini-files span{display:block;font-size:12px;color:#64748b;font-weight:800;margin-bottom:6px}.decision-box{border:1px solid #e6edf3;border-radius:18px;background:#fff;padding:14px}.decision-box h4{font-size:17px;font-weight:900;margin:0 0 10px}.decision-box.active{border-color:#cfe8dd;background:linear-gradient(135deg,#fbfffd,#fff)}.decision-box.muted{background:#f8fafc;color:#64748b}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.approval-foot{margin-top:12px;padding-top:12px;border-top:1px solid #edf2f7;display:flex;justify-content:flex-end;align-items:center;gap:10px}.approval-foot span{background:#f8fafc;border:1px solid #e6edf3;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:#334155}.approval-card-v30 .workflow-stepper{display:none}.page-banner{padding:18px}.page-banner h2{font-size:22px}.page-banner p{font-size:13px;margin:4px 0 0}.task-card .workflow-stepper{grid-template-columns:repeat(4,1fr)}.workflow-step strong{font-size:11px}.workflow-step{padding:8px}.workflow-step span{width:24px;height:24px}.sidebar-compact{box-shadow:-12px 0 30px rgba(16,42,67,.12)}.sidebar-compact .nav-link.active{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.12)}
@media(max-width:1200px){.approval-body-grid{grid-template-columns:1fr}.rating-privacy-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.kv-grid,.mini-files,.rating-privacy-grid{grid-template-columns:1fr}.content-table-v30 th,.content-table-v30 td{white-space:normal}.detail-headline{display:block}.approval-foot{justify-content:flex-start;flex-wrap:wrap}}

/* v32 awards and reports */
.awards-panel .winner-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:linear-gradient(135deg,#fff7ed,#eff6ff)}
.winner-cup{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#f59e0b;color:#fff;font-size:24px;box-shadow:0 10px 22px rgba(245,158,11,.22)}
.winner-card span{display:block;color:#64748b;font-size:12px}.winner-card strong{display:block;font-size:20px;color:#0f172a}.winner-card small{color:#475569}.rank-badge{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#eef2ff;color:#3730a3;font-weight:800}.top-rank{background:#fffbeb}.compact-table td,.compact-table th{padding:.62rem .7rem}.btn-outline-premium{border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:14px;color:#0f172a;font-weight:700}.btn-outline-premium:hover{background:#f8fafc}

/* v33 task scope + compact UI polish */
.flash-wrap .alert{padding:10px 14px;border-radius:14px;font-size:13px;margin-bottom:10px}.flash-wrap .alert-danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.task-grid-polished{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.task-card.panel{padding:16px}.task-card h3{font-size:18px;margin:0}.task-card .eyebrow{font-size:11px;margin-bottom:5px}.task-card .content-preview{padding:12px;line-height:1.65}.task-timeline{grid-template-columns:repeat(4,1fr);gap:8px}.task-timeline div{padding:9px;border-radius:13px}.task-timeline span{font-size:11px;margin-bottom:4px}.task-timeline strong{font-size:12px}.task-action-zone{padding:12px;border-radius:16px}.completion-box{padding:14px;border-radius:16px}.locked-action{display:inline-flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #dbe6ef;color:#64748b;border-radius:14px;padding:10px 12px;font-weight:800;font-size:12px}.page-banner{padding:14px 16px;border-radius:20px;margin-bottom:14px}.page-banner h2{font-size:20px}.page-banner p{font-size:12px}.workflow-stepper{gap:6px}.workflow-step{padding:7px;border-radius:12px}.workflow-step strong{font-size:10px}.workflow-step small{display:none}.mini-attachment-title{font-size:12px}.rating-summary.compact span{font-size:11px;padding:5px 9px}.panel,.approval-card,.task-card,.filter-card{box-shadow:0 8px 24px rgba(16,42,67,.045)!important}.premium-table tbody td{padding:10px 12px}.topbar-compact{margin-bottom:12px}.topbar-compact h1{font-size:24px}.topbar-compact p{font-size:12px}.metric-card{min-height:82px;padding:14px}.metric-icon{width:40px;height:40px}.metric-value{font-size:21px}.sidebar-compact{width:250px}.main-compact{margin-right:250px;width:calc(100% - 250px);padding:20px;max-width:1500px}.dir-ltr .main-compact{margin-left:250px;margin-right:0}@media(max-width:900px){.task-timeline{grid-template-columns:repeat(2,1fr)}.sidebar-compact{width:100%;position:static}.main-compact{margin:0;width:100%;padding:14px}.dir-ltr .main-compact{margin:0}}

/* v34 role-scope UI tightening */
:root{--sch-radius:18px;--sch-shadow:0 12px 28px rgba(10,31,50,.07);--sch-soft-border:#e3edf4;}
.main-compact{padding:18px 22px 28px;}
.topbar-compact{margin-bottom:14px;padding:10px 4px;}
.topbar-compact h1{font-size:26px;line-height:1.25;margin-bottom:4px;}
.topbar-compact p{font-size:13px;color:#7c8c9a;margin:0;}
.panel,.ux-card,.task-card,.compact-panel{border:1px solid var(--sch-soft-border);box-shadow:var(--sch-shadow);border-radius:var(--sch-radius);}
.compact-panel{padding:18px!important;}
.task-grid-polished{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;}
.task-card{padding:18px;}
.task-card h3{font-size:19px;margin:4px 0;}
.eyebrow{font-size:12px;color:#7f91a2;}
.workflow-stepper,.stepper{transform:scale(.92);transform-origin:right center;margin:6px 0 10px;}
.content-preview.ux-preview{padding:14px;border-radius:16px;background:#f8fbfd;border:1px solid #e5eef4;}
.ux-section-title,.mini-attachment-title{font-size:13px;font-weight:800;color:#12324a;margin-bottom:8px;}
.task-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
.task-timeline>div{padding:10px 12px;border:1px solid #e3edf4;border-radius:14px;background:#fbfdff;}
.task-timeline span{display:block;color:#8092a3;font-size:12px;margin-bottom:4px;}
.task-timeline strong{font-size:13px;color:#0d2e47;}
.completion-box{background:#f4fbf7;border:1px solid #cfeedd;border-radius:16px;padding:14px;}
.readonly-action{border:1px dashed #c9d8e4;background:#f8fbfd;color:#65788a;border-radius:14px;padding:12px 14px;font-weight:700;font-size:13px;}
.support-attachment-panel{background:#fbfefc;}
.support-attachment-panel.muted-panel{background:#f8fbfd;color:#6d7f8c;}
.attachment-form-v30.compact-form label{font-size:12px;color:#718493;margin-bottom:5px;}
.attachment-form-v30.compact-form .form-control,.attachment-form-v30.compact-form .form-select{min-height:38px;font-size:13px;}
.attachment-list-v30{background:#fff;border:1px solid #e6eef5;border-radius:16px;padding:10px;}
.attachment-row{padding:10px;border-bottom:1px solid #eef3f6;}
.attachment-row:last-child{border-bottom:0;}
.rating-summary.compact{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.rating-summary.compact span{font-size:12px;background:#fff6dc;border:1px solid #f3d58a;border-radius:999px;padding:5px 10px;color:#7a5a00;}
.flash-wrap .alert{border-radius:14px;padding:10px 42px 10px 14px;font-size:13px;}
.kpi-card{min-height:86px!important;padding:16px!important;}
.kpi-card strong{font-size:24px!important;}
.chart-card canvas{max-height:260px!important;}
@media(max-width:900px){.task-grid-polished{grid-template-columns:1fr}.main-compact{padding:12px}.topbar-compact h1{font-size:22px}}

/* v35 Layout & Containment Refactor */
:root{
  --v35-container: 1320px;
  --v35-sidebar: 228px;
  --v35-card-radius: 16px;
  --v35-border: #e5edf4;
  --v35-bg: #f4f7fb;
  --v35-ink: #0f2d45;
  --v35-muted: #718397;
  --v35-shadow: 0 10px 26px rgba(15,45,70,.055);
}
body{background:var(--v35-bg)!important;}
.sidebar-compact{width:var(--v35-sidebar)!important;padding:18px 14px!important;}
.sidebar-compact .brand{padding-bottom:14px;margin-bottom:12px;}
.sidebar-compact .brand strong{font-size:13px;}
.sidebar-compact .brand span{font-size:10px;line-height:1.35;}
.sidebar-compact .brand-mark{width:38px;height:38px;font-size:11px;}
.sidebar-compact nav{display:grid;gap:4px;}
.sidebar-compact .nav-link{min-height:38px;padding:9px 10px!important;border-radius:12px!important;font-size:13px;gap:8px;}
.sidebar-compact .nav-link i{font-size:15px;}
.sidebar-compact .language-switch{margin-top:16px;padding-top:14px;}
.sidebar-compact .user-box{padding:10px;border-radius:14px;}
.main-compact{width:calc(100% - var(--v35-sidebar))!important;margin-right:var(--v35-sidebar)!important;padding:18px 22px 34px!important;max-width:none!important;}
.dir-ltr .main-compact{margin-left:var(--v35-sidebar)!important;margin-right:0!important;}
.main-compact>.topbar,
.main-compact>.flash-wrap,
.main-compact>form,
.main-compact>.panel,
.main-compact>.role-grid,
.main-compact>.role-layout,
.main-compact>.page-banner,
.main-compact>.contained-panel,
.main-compact>section{max-width:var(--v35-container);margin-left:auto;margin-right:auto;}
.topbar-compact{padding:6px 2px 12px!important;margin-bottom:8px!important;}
.topbar-compact h1{font-size:24px!important;font-weight:900;letter-spacing:-.2px;}
.topbar-compact p{font-size:12px!important;color:var(--v35-muted);}
.top-actions .btn{border-radius:12px;padding:8px 12px;font-size:13px;}
.panel,.filter-card,.task-card,.approval-card{border:1px solid var(--v35-border)!important;border-radius:var(--v35-card-radius)!important;box-shadow:var(--v35-shadow)!important;background:#fff;}
.compact-panel{padding:16px!important;}
.section-head.compact-head{padding:0 0 10px;margin-bottom:8px;border-bottom:1px solid #edf3f7;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.section-head.compact-head h3{font-size:18px;font-weight:900;margin:0;color:var(--v35-ink);}
.section-caption{font-size:12px;color:var(--v35-muted);margin:3px 0 0;}
.info-label{display:inline-flex;align-items:center;gap:6px;background:#f7fafc;border:1px solid #e2ebf2;border-radius:999px;padding:6px 10px;font-size:12px;color:#52677b;font-weight:800;white-space:nowrap;}
.role-grid.four,.role-grid.three,.role-grid.two{gap:12px!important;margin-bottom:12px!important;}
.metric-card,.kpi-card,.summary-tile{min-height:74px!important;padding:12px 14px!important;border-radius:16px!important;}
.metric-value,.kpi-card strong,.summary-tile strong{font-size:22px!important;}
.metric-icon,.summary-tile i{width:36px!important;height:36px!important;font-size:16px!important;}
.compact-chart{height:150px!important;max-height:150px!important;overflow:hidden;}
.compact-chart canvas{max-height:150px!important;}
.chart-card canvas{max-height:180px!important;}
.filter-slim{padding:12px!important;margin-bottom:12px!important;}
.filter-slim label{font-size:11px;font-weight:800;color:#607386;margin-bottom:4px;}
.filter-slim .form-select,.filter-slim .form-control{min-height:38px;font-size:13px;border-radius:12px;}
.filter-slim .btn{min-height:38px;border-radius:12px;}

/* v35 compact role summary */
.role-summary-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;}
.summary-tile{background:#fff;border:1px solid var(--v35-border);box-shadow:var(--v35-shadow);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.summary-tile span{display:block;color:var(--v35-muted);font-size:12px;font-weight:800;}
.summary-tile strong{display:block;color:var(--v35-ink);font-weight:900;}
.summary-tile i{display:grid;place-items:center;background:#eef9fa;color:#0b6570;border-radius:12px;}

/* v35 tasks as contained rows, not huge cards */
.task-list-panel{padding:16px!important;}
.task-list-v35{display:grid;gap:10px;}
.task-row-v35{background:#fff;border:1px solid #e6eef5;border-radius:16px;padding:12px;display:grid;grid-template-columns:minmax(300px,1fr) 94px 96px 96px auto;gap:12px;align-items:center;transition:.18s ease;}
.task-row-v35:hover{border-color:#c9d9e5;box-shadow:0 10px 24px rgba(15,45,70,.06);}
.task-row-v35.needs-revision{border-color:#ffd9a6;background:linear-gradient(90deg,#fffaf3,#fff);}
.task-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.task-title-line h4{font-size:16px;font-weight:900;color:var(--v35-ink);margin:0;}
.task-meta-v35{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;color:#607386;font-size:12px;}
.task-meta-v35 span{display:inline-flex;gap:5px;align-items:center;}
.task-status-v35{background:#f8fbfd;border:1px solid #e6eef5;border-radius:13px;padding:8px 9px;text-align:center;min-height:56px;}
.task-status-v35 .small-label{display:block;color:#8091a1;font-size:11px;font-weight:800;margin-bottom:4px;}
.task-status-v35 strong{font-size:12px;color:#0f2d45;}
.task-actions-v35{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.task-actions-v35 .btn{border-radius:11px;font-size:12px;padding:7px 10px;}
.task-details-v35{grid-column:1/-1;background:#f8fbfd;border:1px solid #e6eef5;border-radius:14px;padding:12px;margin-top:4px;}
.task-detail-grid-v35{display:grid;grid-template-columns:1.35fr .9fr .85fr;gap:12px;}
.detail-block-v35{background:#fff;border:1px solid #e6eef5;border-radius:14px;padding:12px;}
.detail-block-v35 h5{font-size:14px;font-weight:900;margin:0 0 8px;color:var(--v35-ink);}
.detail-block-v35 p{font-size:13px;line-height:1.7;margin:4px 0;color:#33465a;}
.detail-times-v35 dl{display:grid;grid-template-columns:80px 1fr;gap:6px 10px;margin:0;font-size:12px;}
.detail-times-v35 dt{color:#718397;font-weight:800;}
.detail-times-v35 dd{margin:0;color:#0f2d45;font-weight:800;}
.completion-box-v35{margin-top:10px;background:#f3fbf7!important;border-color:#ccebd9!important;padding:12px!important;}
.completion-box-v35 .form-label{font-size:12px;font-weight:900;color:#41576a;}
.completion-box-v35 .form-control{border-radius:12px;min-height:38px;font-size:13px;}
.v35-zero{display:grid;place-items:center;gap:4px;padding:36px!important;}
.v35-zero i{font-size:30px;color:#9eb0bf;}
.v35-zero strong{font-size:18px;color:var(--v35-ink);}
.v35-zero span{font-size:13px;color:var(--v35-muted);}

/* v35 content list: compact rows instead of wide table */
.content-list-v35{padding:16px!important;}
.content-rows-v35{display:grid;gap:9px;}
.content-row-v35{background:#fff;border:1px solid #e7eef5;border-radius:15px;padding:12px;display:grid;grid-template-columns:minmax(280px,1.25fr) 180px 170px 180px 88px auto;gap:12px;align-items:center;}
.content-row-v35:hover{background:#fcfdff;border-color:#cad9e5;}
.content-main-v35 h4{font-size:16px;font-weight:900;margin:0;color:#0f2d45;}
.content-meta-v35{display:flex;gap:8px;flex-wrap:wrap;color:#708296;font-size:12px;margin:3px 0;}
.content-main-v35 p{font-size:12px;color:#708296;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px;}
.content-stage-v35 .badge{white-space:normal;line-height:1.5;}
.content-assignee-v35,.content-results-v35{background:#f8fbfd;border:1px solid #e6eef5;border-radius:13px;padding:8px 10px;}
.content-assignee-v35 span,.content-results-v35 span,.content-attachments-v35 span{display:block;color:#8091a1;font-size:11px;font-weight:800;margin-bottom:3px;}
.content-assignee-v35 strong{font-size:13px;color:#0f2d45;display:block;}
.content-assignee-v35 small{color:#708296;font-size:11px;}
.content-results-v35 strong{font-size:20px;color:#0f2d45;}
.content-attachments-v35{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;font-size:12px;}
.content-actions-v35{display:flex;justify-content:flex-end;gap:5px;align-items:center;flex-wrap:wrap;}
.content-actions-v35 .btn{border-radius:10px;}
.attachment-pill.sm,.attachment-pill{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

@media(max-width:1250px){
  .task-row-v35{grid-template-columns:minmax(260px,1fr) repeat(2,90px) auto;}
  .task-status-v35:nth-of-type(3){display:none;}
  .content-row-v35{grid-template-columns:minmax(260px,1fr) 160px 130px auto;}
  .content-assignee-v35,.content-attachments-v35{display:none;}
}
@media(max-width:900px){
  .sidebar-compact{width:100%!important;position:static!important;}
  .main-compact,.dir-ltr .main-compact{margin:0!important;width:100%!important;padding:12px!important;}
  .role-summary-compact{grid-template-columns:repeat(2,1fr);}
  .task-row-v35,.content-row-v35{grid-template-columns:1fr;gap:8px;}
  .task-status-v35,.content-assignee-v35,.content-results-v35{display:flex;justify-content:space-between;align-items:center;text-align:initial;min-height:auto;}
  .task-detail-grid-v35{grid-template-columns:1fr;}
  .task-actions-v35,.content-actions-v35{justify-content:flex-start;}
}

/* v36 role UI hotfix: tighter personal pages, notifications for all roles, better containment */
:root{--v36-container:1180px;--v36-page-pad:18px;--v36-line:#e6eef5;--v36-text:#0d2e47;--v36-muted:#6f8293;--v36-soft:#f7fafc;}
.main-compact>.personal-hero-v36,
.main-compact>.personal-summary-v36,
.main-compact>.performance-cards-v36,
.main-compact>.my-task-list-v36,
.main-compact>.notification-list-v36{max-width:var(--v36-container)!important;margin-left:auto!important;margin-right:auto!important;}
.personal-hero-v36{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#ffffff,#f5fbff);border:1px solid var(--v36-line);border-radius:18px;box-shadow:0 10px 24px rgba(15,45,70,.045);padding:18px 20px;margin-bottom:12px!important;}
.personal-hero-v36 .eyebrow{display:block;font-size:12px;font-weight:900;color:#0b6570;margin-bottom:4px;}
.personal-hero-v36 h2{font-size:24px;font-weight:950;color:var(--v36-text);margin:0;}
.personal-hero-v36 p{font-size:13px;color:var(--v36-muted);margin:5px 0 0;}
.personal-score-v36{min-width:150px;background:#0d2e47;color:#fff;border-radius:16px;padding:14px 16px;text-align:center;}
.personal-score-v36 small{display:block;color:#bdd3e2;font-size:11px;font-weight:800;margin-bottom:2px;}
.personal-score-v36 strong{font-size:24px;font-weight:950;}
.personal-summary-v36{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-bottom:12px!important;}
.performance-cards-v36,.my-task-list-v36,.notification-list-v36{padding:16px!important;margin-top:12px!important;background:#fff;border:1px solid var(--v36-line);border-radius:18px;box-shadow:0 10px 24px rgba(15,45,70,.045);}
.rating-grid-v36{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.rating-card-v36{background:var(--v36-soft);border:1px solid var(--v36-line);border-radius:15px;padding:14px;text-align:center;}
.rating-card-v36 span{display:block;color:var(--v36-muted);font-size:12px;font-weight:900;margin-bottom:5px;}
.rating-card-v36 strong{font-size:20px;color:var(--v36-text);}
.simple-list-v36{display:grid;gap:9px;}
.simple-item-v36,.notification-item-v36{display:grid;grid-template-columns:minmax(260px,1fr) 140px 120px 120px 140px auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--v36-line);border-radius:15px;padding:12px;}
.notification-item-v36{grid-template-columns:minmax(320px,1fr) 180px 180px auto;}
.simple-main-v36 h4{font-size:15px;font-weight:950;color:var(--v36-text);margin:0;}
.simple-main-v36 p,.notification-item-v36 p{font-size:12px;color:var(--v36-muted);margin:3px 0 0;line-height:1.5;}
.simple-meta-v36{background:#f8fbfd;border:1px solid #e8f0f6;border-radius:13px;padding:8px 10px;min-height:54px;}
.simple-meta-v36 span{display:block;color:#8192a1;font-size:11px;font-weight:900;margin-bottom:3px;}
.simple-meta-v36 strong{font-size:12px;color:var(--v36-text);word-break:break-word;}
.simple-ratings-v36{display:flex;gap:5px;flex-wrap:wrap;}
.simple-ratings-v36 span{background:#fff7df;border:1px solid #f1d48b;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;color:#7a5a00;}
.code-box{border-radius:14px;background:#0d2e47;color:#d9f99d;padding:12px;white-space:pre-wrap;font-size:12px;direction:ltr;text-align:left;}
/* Remove huge table feeling from personal pages */
.my-task-list-v36 .table-responsive,.performance-cards-v36 .table-responsive{overflow:visible!important;}
/* PDF button and top action containment */
.topbar-compact{max-width:var(--v36-container)!important;margin-left:auto!important;margin-right:auto!important;}
/* charts and calendars should not dominate */
.calendar-grid .calendar-cell{min-height:150px!important;}
.chart-card{padding:16px!important;}
.chart-card canvas{max-height:220px!important;}
/* Better task page containment */
.task-list-panel{max-width:var(--v36-container)!important;}
.task-row-v35{grid-template-columns:minmax(280px,1fr) 86px 96px auto!important;}
.task-row-v35 .task-status-v35:nth-of-type(3){display:none!important;}
.task-details-v35{padding:10px!important;}
.task-detail-grid-v35{grid-template-columns:1fr 1fr!important;}
.detail-times-v35{grid-column:1/-1;}
/* less empty vertical space */
.topbar-compact + .role-summary-compact,.topbar-compact + .personal-hero-v36{margin-top:0!important;}
.flash-wrap{max-width:var(--v36-container)!important;}
.flash-wrap .alert{padding-top:9px!important;padding-bottom:9px!important;}
@media(max-width:1200px){.personal-summary-v36,.rating-grid-v36{grid-template-columns:repeat(2,minmax(0,1fr))!important}.simple-item-v36,.notification-item-v36{grid-template-columns:1fr 1fr}.simple-main-v36,.notification-item-v36>div:first-child{grid-column:1/-1}.task-detail-grid-v35{grid-template-columns:1fr!important}}
@media(max-width:760px){.personal-hero-v36{display:block}.personal-score-v36{margin-top:12px;width:100%}.personal-summary-v36,.rating-grid-v36{grid-template-columns:1fr!important}.simple-item-v36,.notification-item-v36{grid-template-columns:1fr}.main-compact{padding:12px!important}}

/* v37 — Template, containment, and theme refactor */
:root{
  --ui-bg:#f3f7fb;
  --ui-card:#ffffff;
  --ui-ink:#0d2740;
  --ui-muted:#71859a;
  --ui-line:#e4edf5;
  --ui-soft:#f8fbfd;
  --ui-teal:#155e66;
  --ui-navy:#0d2b44;
  --ui-radius:18px;
  --ui-shadow:0 10px 28px rgba(13,43,68,.055);
  --ui-sidebar:248px;
}
html{scroll-behavior:smooth}
body{background:var(--ui-bg);font-feature-settings:"kern";}
.sidebar-compact{width:var(--ui-sidebar)!important;padding:18px 16px!important;gap:14px!important;}
.sidebar-compact .brand{padding-bottom:12px!important;gap:10px!important;}
.sidebar-compact .brand-mark{width:38px!important;height:38px!important;border-radius:13px!important;font-size:12px!important;}
.sidebar-compact .brand strong{font-size:13px!important;}
.sidebar-compact .brand span{font-size:10px!important;opacity:.78;}
.sidebar-compact nav{gap:5px!important;}
.sidebar-compact .nav-link{padding:9px 11px!important;border-radius:13px!important;font-size:13px!important;gap:9px!important;min-height:38px;}
.sidebar-compact .nav-link i{font-size:15px;opacity:.9;}
.sidebar-compact .language-switch{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);}
.sidebar-compact .user-box{padding:9px!important;border-radius:15px!important;}
.sidebar-compact .avatar{width:32px!important;height:32px!important;border-radius:10px!important;}
.sidebar-compact .user-box strong{font-size:12px!important;}
.sidebar-compact .user-box span{font-size:10px!important;}
.main-compact{margin-right:var(--ui-sidebar)!important;width:calc(100% - var(--ui-sidebar))!important;padding:22px 24px!important;}
.dir-ltr .sidebar-compact{right:auto!important;left:0!important;box-shadow:20px 0 40px rgba(16,42,67,.11)}
.dir-ltr .main-compact{margin-right:0!important;margin-left:var(--ui-sidebar)!important;}
.page-frame{width:100%;max-width:1380px;margin-inline:auto;}
.role-team .page-frame,.role-content_manager .page-frame{max-width:1180px;}
.role-client .page-frame,.role-approver .page-frame{max-width:1240px;}
.role-admin .page-frame{max-width:1460px;}
.topbar-compact{margin:0 0 14px!important;padding:4px 0 10px!important;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(226,237,245,.72);}
.topbar-compact h1{font-size:24px!important;line-height:1.25;margin:0;color:var(--ui-ink);}
.topbar-compact p{font-size:12px!important;margin:4px 0 0!important;color:var(--ui-muted)!important;}
.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.flash-wrap{margin-bottom:12px;}
.flash-wrap .alert{border-radius:14px;padding:10px 42px 10px 14px;margin-bottom:8px;font-size:13px;box-shadow:none;}
.panel,.filter-card,.approval-card,.calendar-wrap,.metric-card,.client-card{border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important;background:var(--ui-card)!important;}
.ux-panel{padding:14px!important;margin-bottom:14px;}
.ux-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eef3f7;}
.ux-panel-head h3{font-size:17px!important;font-weight:900;margin:0;color:var(--ui-ink);}
.ux-panel-head p{font-size:12px;color:var(--ui-muted);margin:3px 0 0;}
.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.stat-chip{background:#fff;border:1px solid var(--ui-line);border-radius:16px;box-shadow:var(--ui-shadow);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;}
.stat-chip span{font-size:12px;color:var(--ui-muted);font-weight:800;}
.stat-chip strong{font-size:22px;color:var(--ui-ink);font-weight:950;}
.muted-line{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;color:var(--ui-muted);font-size:12px;}
.zero-clean{display:grid;place-items:center;text-align:center;gap:4px;padding:32px 12px;color:var(--ui-muted);}
.zero-clean i{font-size:30px;color:#9ab0c0}.zero-clean strong{font-size:17px;color:var(--ui-ink)}.zero-clean span{font-size:12px;color:var(--ui-muted)}
/* Task cards */
.task-cards-clean{display:grid;gap:10px;}
.task-card-clean{background:#fff;border:1px solid var(--ui-line);border-radius:16px;padding:12px;display:grid;grid-template-columns:minmax(260px,1fr) 190px 160px auto;gap:12px;align-items:center;}
.task-card-clean:hover,.content-card-clean:hover{border-color:#cbdce8;background:#fdfefe;}
.task-card-clean.is-revision{border-color:#ffd7a8;background:#fffaf4;}
.task-card-main h4,.content-card-main h4{font-size:16px;font-weight:950;margin:0 0 4px;color:var(--ui-ink);}
.task-card-state .badge{white-space:normal;line-height:1.45;}
.task-card-due{background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:13px;padding:8px 10px;min-height:54px;}
.task-card-due span,.content-card-mini span{display:block;font-size:11px;color:var(--ui-muted);font-weight:900;margin-bottom:2px;}
.task-card-due strong,.content-card-mini strong{display:block;font-size:12px;color:var(--ui-ink);font-weight:900;}
.task-card-due small,.content-card-mini small{font-size:11px;color:var(--ui-muted);}
.task-card-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.task-card-details{grid-column:1/-1;border-top:1px solid #edf3f7;margin-top:4px;padding-top:10px;}
.details-grid-clean{display:grid;grid-template-columns:1.2fr .9fr .75fr;gap:10px;}
.detail-box-clean{background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:14px;padding:12px;}
.detail-box-clean h5,.completion-clean h5{font-size:14px;font-weight:950;color:var(--ui-ink);margin:0 0 8px;}
.detail-box-clean p{font-size:13px;color:#31485c;line-height:1.75;margin:3px 0;}
.clean-dl{display:grid;grid-template-columns:86px 1fr;gap:6px 10px;margin:0;font-size:12px;}
.clean-dl dt{color:var(--ui-muted);font-weight:900}.clean-dl dd{margin:0;color:var(--ui-ink);font-weight:800;}
.completion-clean{margin-top:10px;background:#f2fbf7;border:1px solid #ccebd9;border-radius:14px;padding:12px;}
.completion-clean small{display:block;color:#55706b;margin-top:6px;font-size:12px;}
.mini-rating-line{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mini-rating-line span{background:#fff8e1;border:1px solid #ffe0a6;color:#7b5c00;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;}
.readonly-action{background:#f7fafc;border:1px solid var(--ui-line);border-radius:13px;padding:10px;color:var(--ui-muted);font-size:12px;}
/* Content cards */
.ux-filter{padding:12px!important;margin-bottom:12px!important;}
.content-cards-clean{display:grid;gap:9px;}
.content-card-clean{background:#fff;border:1px solid var(--ui-line);border-radius:16px;padding:12px;display:grid;grid-template-columns:minmax(280px,1.2fr) 190px 140px 100px auto;gap:12px;align-items:center;}
.content-card-main p{font-size:12px;color:var(--ui-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:460px;}
.content-card-stage .badge{white-space:normal;line-height:1.45;}
.content-card-mini{background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:13px;padding:8px 10px;}
.content-card-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;}
/* Personal performance */
.personal-header-clean{background:linear-gradient(135deg,#fff,#f5fbff);border:1px solid var(--ui-line);border-radius:18px;box-shadow:var(--ui-shadow);padding:16px 18px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.personal-header-clean span{font-size:12px;color:var(--ui-teal);font-weight:900}.personal-header-clean h2{font-size:23px;font-weight:950;margin:2px 0;color:var(--ui-ink)}.personal-header-clean p{font-size:12px;color:var(--ui-muted);margin:0;}
.score-pill-clean{background:var(--ui-navy);color:white;border-radius:15px;padding:12px 16px;min-width:130px;text-align:center;}.score-pill-clean small{display:block;color:#bdd3e2;font-size:11px}.score-pill-clean strong{font-size:22px;}
.rating-cards-clean{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}.rating-cards-clean>div{background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:14px;padding:12px;text-align:center}.rating-cards-clean span{display:block;font-size:12px;color:var(--ui-muted);font-weight:900;margin-bottom:3px}.rating-cards-clean strong{font-size:18px;color:var(--ui-ink);}
.simple-cards-clean{display:grid;gap:8px;}.simple-card-clean{display:grid;grid-template-columns:minmax(240px,1fr) 130px 120px 110px 110px auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--ui-line);border-radius:14px;padding:10px;}.simple-card-clean h4{font-size:15px;margin:0;color:var(--ui-ink);font-weight:900}.simple-card-clean p{font-size:12px;color:var(--ui-muted);margin:2px 0 0}.simple-card-clean span{display:block;color:var(--ui-muted);font-size:11px;font-weight:900}.simple-card-clean strong{font-size:12px;color:var(--ui-ink);}
/* Tables and charts general containment */
.table-responsive,.premium-table{font-size:13px;}.premium-table tbody td{padding:10px!important;}.chart-card canvas,.compact-chart canvas{max-height:220px!important;}
.approval-grid-v30{gap:12px!important}.approval-card-v30{padding:14px!important}.approval-body-grid{gap:12px!important}.decision-box{padding:12px!important;border-radius:14px!important;}
.calendar-day{min-height:120px!important}.calendar-item{padding:7px!important;font-size:12px}.calendar-head span{padding:8px!important;border-radius:12px;}
@media(max-width:1200px){.task-card-clean{grid-template-columns:1fr 150px auto}.task-card-due{display:none}.content-card-clean{grid-template-columns:1fr 160px auto}.content-card-mini{display:none}.details-grid-clean{grid-template-columns:1fr}.simple-card-clean{grid-template-columns:1fr 1fr 1fr}.rating-cards-clean{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar-compact{position:static!important;width:100%!important}.main-compact,.dir-ltr .main-compact{margin:0!important;width:100%!important;padding:12px!important}.topbar-compact{display:block}.stats-strip{grid-template-columns:repeat(2,1fr)}.task-card-clean,.content-card-clean,.simple-card-clean{grid-template-columns:1fr}.task-card-actions,.content-card-actions{justify-content:flex-start}.personal-header-clean{display:block}.score-pill-clean{margin-top:10px}.page-frame{max-width:100%}}

/* v39 Admin Theme Studio + visual polish layer */
body{font-family:var(--app-font)!important;background:var(--bg)!important;color:var(--ink)!important;}
.app-shell{background:radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--brand) 8%, transparent), transparent 34%), var(--bg)!important;}
.sidebar,.sidebar-compact{width:var(--sidebar-w)!important;background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb, var(--sidebar) 88%, #000 12%))!important;padding:16px!important;box-shadow:0 0 28px rgba(0,0,0,.08)!important;}
.main,.main-compact{margin-right:var(--sidebar-w)!important;width:calc(100% - var(--sidebar-w))!important;padding:18px!important;}
.dir-ltr .sidebar,.dir-ltr .sidebar-compact{left:0;right:auto}.dir-ltr .main,.dir-ltr .main-compact{margin-left:var(--sidebar-w)!important;margin-right:0!important;}
.page-frame{max-width:var(--content-max)!important;margin-inline:auto!important;padding-inline:clamp(10px,1.2vw,20px)!important;}
.brand{padding-bottom:12px!important;gap:10px!important}.brand-mark{width:38px!important;height:38px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--accent),#fff0b8)!important}.brand strong{font-size:13px}.brand span{font-size:10px}.sidebar nav{gap:5px!important}.nav-link{padding:9px 11px!important;border-radius:13px!important;font-size:13px!important}.nav-link.primary,.nav-link:hover{background:rgba(255,255,255,.10)!important;border-color:color-mix(in srgb,var(--accent) 55%, transparent)!important;transform:none!important}.user-box{padding:9px!important;border-radius:15px!important}.avatar{width:32px!important;height:32px!important;border-radius:10px!important}.language-switch{margin-top:auto!important;padding-top:12px!important;border-top:1px solid rgba(255,255,255,.08)!important}.lang-pill.active{background:var(--accent)!important;color:#102536!important;}
.topbar,.topbar-compact{max-width:var(--content-max)!important;margin-inline:auto!important;margin-bottom:14px!important;padding:4px 0 10px!important}.topbar h1,.topbar-compact h1{font-size:clamp(22px,2vw,30px)!important;color:var(--ink)!important}.topbar p,.topbar-compact p{color:var(--muted)!important;font-size:12px!important}.panel,.filter-card,.metric-card,.approval-card,.client-card,.task-card,.content-card-clean,.performance-cards-v36,.my-task-list-v36,.notification-list-v36,.studio-panel-v39,.studio-hero-v39{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;}
.btn-premium{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 82%, #000 18%))!important;border:0!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 18%, transparent)!important}.btn-soft{background:color-mix(in srgb,var(--brand) 7%, #fff)!important;border:1px solid var(--line)!important;color:var(--ink)!important}.badge,.status-pill{border-radius:999px!important}.text-bg-success,.badge-success{background:color-mix(in srgb,var(--success) 14%, #fff)!important;color:color-mix(in srgb,var(--success) 75%, #000)!important}.text-bg-warning{background:color-mix(in srgb,var(--warning) 18%, #fff)!important;color:#744d00!important}.text-bg-danger{background:color-mix(in srgb,var(--danger) 14%, #fff)!important;color:color-mix(in srgb,var(--danger) 70%, #000)!important}
.role-summary-compact,.metric-grid{gap:var(--space)!important}.summary-tile,.metric-card{min-height:68px!important;padding:calc(var(--space) * .85)!important}.summary-tile span,.metric-title{color:var(--muted)!important}.summary-tile i,.metric-icon{background:color-mix(in srgb,var(--brand) 8%, #fff)!important;color:var(--brand)!important}
.table, table{color:var(--ink)!important}.table thead th, table thead th{background:var(--sidebar)!important;color:#fff!important;border:0!important;font-size:12px!important}.table td, table td{border-color:var(--line)!important}.form-control,.form-select{border-color:var(--line)!important;border-radius:13px!important}.form-control:focus,.form-select:focus{border-color:var(--brand)!important;box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand) 14%, transparent)!important}

/* v39 Studio */
.settings-studio-v39{max-width:var(--content-max);margin-inline:auto;display:grid;gap:14px}.studio-hero-v39{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--brand) 5%, var(--card)))!important}.studio-hero-v39 h2{font-size:24px;font-weight:900;margin:0;color:var(--ink)}.studio-hero-v39 p{color:var(--muted);margin:5px 0 0}.eyebrow-v39{display:inline-flex;background:color-mix(in srgb,var(--brand) 10%, #fff);border:1px solid color-mix(in srgb,var(--brand) 20%, #fff);color:var(--brand);font-size:12px;font-weight:900;border-radius:999px;padding:5px 10px;margin-bottom:8px}.studio-preview-v39{width:220px;height:112px;border-radius:18px;background:var(--b);border:1px solid var(--line);display:grid;grid-template-columns:54px 1fr;overflow:hidden;box-shadow:var(--shadow)}.studio-preview-v39 .preview-side{background:var(--s)}.studio-preview-v39 .preview-main{padding:14px;display:grid;gap:9px}.studio-preview-v39 span{height:14px;width:66%;background:var(--p);border-radius:99px}.studio-preview-v39 strong{height:34px;background:var(--c);border-radius:12px;border-inline-start:5px solid var(--a)}.studio-preview-v39 em{height:18px;width:44%;background:var(--a);border-radius:99px}.studio-grid-v39{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}.studio-panel-v39{padding:18px}.studio-panel-v39 h3{font-size:17px;font-weight:900;margin:0 0 14px;color:var(--ink)}.studio-panel-v39 label{font-size:12px;font-weight:900;color:var(--muted);margin-bottom:5px}.studio-panel-v39 small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.color-grid-v39{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.color-item-v39{display:grid;grid-template-columns:1fr 42px 78px;gap:8px;align-items:center;background:#f8fbfd;border:1px solid var(--line);border-radius:14px;padding:8px}.color-item-v39 span{font-size:12px;font-weight:900;color:var(--ink)}.color-item-v39 input{width:42px;height:34px;border:0;background:transparent}.color-item-v39 code{font-size:11px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px;text-align:center}.sticky-save-v39{position:sticky;bottom:12px;z-index:5;display:flex;gap:10px;justify-content:flex-start;background:color-mix(in srgb,var(--card) 82%, transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}
@media(max-width:1000px){.studio-hero-v39,.studio-grid-v39{grid-template-columns:1fr;display:grid}.studio-preview-v39{width:100%}.color-grid-v39{grid-template-columns:1fr}.sidebar,.sidebar-compact{width:100%!important;position:static!important}.main,.main-compact,.dir-ltr .main,.dir-ltr .main-compact{margin:0!important;width:100%!important}}

/* =========================
   v40 Role UI Polish / containment
   ========================= */
:root{--v40-sidebar:230px;--v40-max:1220px;--v40-admin-max:1320px;--v40-gap:12px;}
html,body{overflow-x:hidden!important;}
.sidebar-compact{width:var(--v40-sidebar)!important;padding:14px!important;gap:12px!important;}
.sidebar-compact .brand{padding-bottom:10px!important;gap:9px!important;}
.sidebar-compact .brand-mark{width:36px!important;height:36px!important;border-radius:12px!important;font-size:12px!important;}
.sidebar-compact .brand strong{font-size:13px!important}.sidebar-compact .brand span{font-size:9.5px!important}
.sidebar-compact nav{gap:5px!important}.sidebar-compact .nav-link{padding:9px 10px!important;border-radius:12px!important;font-size:13px!important;gap:8px!important}.sidebar-compact .nav-link i{font-size:14px!important;opacity:.9}.sidebar-compact .user-box{padding:9px!important;border-radius:14px!important}.sidebar-compact .avatar{width:32px!important;height:32px!important;border-radius:10px!important}.sidebar-compact .language-switch{margin-top:6px!important}
.main-compact{margin-right:var(--v40-sidebar)!important;width:calc(100% - var(--v40-sidebar))!important;padding:18px 18px 28px!important;max-width:none!important;}
.dir-ltr .main-compact{margin-left:var(--v40-sidebar)!important;margin-right:0!important;}
.page-frame{max-width:var(--v40-max)!important;margin-inline:auto!important;padding-inline:0!important;}
.role-admin .page-frame{max-width:var(--v40-admin-max)!important}.role-team .page-frame,.role-content_manager .page-frame,.role-client .page-frame,.role-approver .page-frame{max-width:1120px!important}
.topbar-compact{border-bottom:0!important;margin-bottom:12px!important;padding:4px 0 8px!important;align-items:center!important;}
.topbar-compact h1{font-size:25px!important;line-height:1.15!important}.topbar-compact p{font-size:12px!important;max-width:540px!important}.top-actions{display:flex;gap:8px;flex-wrap:wrap}.top-actions .btn{min-height:36px!important;padding:8px 12px!important;font-size:12px!important;border-radius:12px!important}
.panel,.filter-card,.approval-card,.client-card,.calendar-wrap,.content-card-clean,.task-card-clean,.v40-panel{border-radius:18px!important;box-shadow:0 8px 26px rgba(15,39,66,.045)!important;border:1px solid var(--line)!important;background:var(--card)!important;}
.panel,.v40-panel{padding:16px!important}.filter-card{padding:12px!important}.section-title h3,.panel h3,.v40-panel h3{font-size:18px!important;margin:0!important}.section-title p,.v40-panel p,.ux-panel-head p{font-size:12px!important;color:var(--muted)!important;margin:3px 0 0!important}.table-responsive{border-radius:14px!important}.premium-table{font-size:12.5px!important;border-spacing:0 6px!important}.premium-table thead th{padding:9px 10px!important}.premium-table tbody td{padding:9px 10px!important}.rating-badge{display:inline-flex;border-radius:999px;background:#fff8e5;border:1px solid #f3d89b;color:#6b4a05;padding:5px 9px;font-weight:800;font-size:12px;white-space:nowrap;}
.kpi-grid,.v40-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important;}
.kpi-card,.v40-stats article{min-height:72px!important;padding:12px 14px!important;border-radius:16px!important;background:var(--card)!important;border:1px solid var(--line)!important;box-shadow:0 8px 22px rgba(15,39,66,.04)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
.kpi-card span,.v40-stats span{font-size:12px!important;color:var(--muted)!important;font-weight:800!important}.kpi-card strong,.v40-stats strong{font-size:24px!important;color:var(--ink)!important;font-weight:950!important}.kpi-card i,.v40-stats i{width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--brand) 8%, #fff);color:var(--brand);display:grid;place-items:center;font-size:16px;}
.v40-panel{margin-bottom:14px!important}.v40-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.v40-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.v40-team-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px}.v40-person{display:flex;align-items:center;gap:10px}.v40-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#12324a);color:#fff;display:grid;place-items:center;font-weight:900}.v40-person strong{display:block;color:var(--ink);font-size:14px}.v40-person span{display:block;color:var(--muted);font-size:11px}.v40-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v40-mini-metrics div,.v40-score-row,.v40-final-score,.v40-rating-grid div{background:#f8fafc;border:1px solid #e8eef5;border-radius:14px;padding:9px 10px}.v40-mini-metrics span,.v40-score-row span,.v40-final-score span,.v40-rating-grid span{display:block;color:var(--muted);font-size:11px;font-weight:800}.v40-mini-metrics b,.v40-score-row b,.v40-final-score strong,.v40-rating-grid strong{display:block;color:var(--ink);font-size:15px;font-weight:950;margin-top:2px}.v40-final-score{background:linear-gradient(135deg,#fff8e8,#fff)!important;border-color:#f2d89b!important}.v40-task-list{display:grid;gap:8px}.v40-task-line{display:grid;grid-template-columns:minmax(250px,1fr) 150px 140px 120px auto;gap:10px;align-items:center;background:#fff;border:1px solid #edf2f7;border-radius:14px;padding:11px 12px}.v40-task-line h4{font-size:14px;font-weight:900;margin:0 0 3px}.v40-task-line p{font-size:11px;color:var(--muted);margin:0}.v40-task-line span{display:block;font-size:10.5px;color:var(--muted);font-weight:800}.v40-task-line b{font-size:12px;color:var(--ink)}.v40-rating-pills{display:flex;gap:5px;flex-wrap:wrap}.v40-rating-pills span{background:#fff8e5;border:1px solid #f2d89b;border-radius:999px;padding:5px 8px;color:#6b4a05;font-weight:900}.v40-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:22px;text-align:center;color:var(--muted);grid-column:1/-1}.v40-empty i{display:block;font-size:24px;margin-bottom:6px;color:var(--brand)}.v40-empty strong{display:block;color:var(--ink)}.v40-personal-hero{background:linear-gradient(135deg,#fff,#f8fbfd);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 26px rgba(15,39,66,.045);padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.v40-rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stats-strip,.role-summary-compact{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important}.stat-chip,.summary-tile{min-height:64px!important;padding:10px 12px!important;border-radius:16px!important}.task-cards-clean,.content-cards-clean,.simple-cards-clean{display:grid!important;gap:8px!important}.task-card-clean,.content-card-clean,.simple-card-clean{padding:12px!important;border-radius:16px!important;grid-template-columns:minmax(260px,1fr) 150px 130px auto!important;gap:10px!important;align-items:center!important}.task-card-clean h4,.content-card-clean h4,.simple-card-clean h4{font-size:14px!important;margin:0 0 3px!important}.muted-line,.content-card-clean p{font-size:11px!important}.content-card-mini span,.task-card-due span{font-size:10.5px!important}.content-card-mini strong,.task-card-due strong{font-size:12px!important}.task-card-actions,.content-card-actions{display:flex!important;justify-content:flex-end!important;gap:5px!important}.task-card-details{grid-column:1/-1!important;margin-top:8px!important}.details-grid-clean{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.detail-box-clean{padding:12px!important;border-radius:14px!important}.completion-clean{margin-top:10px!important;padding:12px!important;border-radius:14px!important}.calendar-day{min-height:118px!important}.calendar-wrap{padding:14px!important}.calendar-head span{padding:8px!important;border-radius:12px!important}.calendar-item{padding:7px!important;font-size:11px!important}.metric-grid{gap:10px!important}.metric-card{min-height:68px!important;padding:10px 12px!important;border-radius:16px!important}.metric-value{font-size:20px!important}.metric-icon{width:34px!important;height:34px!important;border-radius:12px!important;font-size:15px!important}.metric-title{font-size:11px!important}.compact-chart{height:180px!important;max-height:180px!important}.compact-chart canvas{max-height:180px!important}
@media(max-width:1200px){.v40-task-line{grid-template-columns:1fr 140px 120px}.v40-rating-pills{grid-column:1/-1}.details-grid-clean{grid-template-columns:1fr!important}.task-card-clean,.content-card-clean,.simple-card-clean{grid-template-columns:1fr!important}.kpi-grid,.v40-stats,.stats-strip,.role-summary-compact,.v40-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.sidebar-compact{width:100%!important;position:static!important}.main-compact,.dir-ltr .main-compact{margin:0!important;width:100%!important;padding:12px!important}.page-frame{max-width:100%!important}.topbar-compact{display:block!important}.v40-personal-hero{display:block}.v40-task-line{grid-template-columns:1fr!important}.kpi-grid,.v40-stats,.stats-strip,.role-summary-compact,.v40-rating-grid{grid-template-columns:1fr!important}}

/* =========================================================
   v41 Full UI QA Cleanup
   Goal: consistent containment, clean role pages, no oversized tables.
   ========================================================= */
:root{--v41-sidebar:224px;--v41-max:1180px;--v41-admin-max:1320px;--v41-radius:16px;--v41-gap:12px;--v41-shadow:0 8px 24px rgba(15,39,66,.045);--v41-border:#e6eef5;}
html{background:var(--bg)!important;} body{font-size:14px!important;line-height:1.55!important;overflow-x:hidden!important;}
.sidebar-compact{width:var(--v41-sidebar)!important;padding:14px!important;gap:10px!important;}
.sidebar-compact .nav-link{min-height:36px!important;padding:8px 10px!important;font-size:12.5px!important;border-radius:12px!important;}
.sidebar-compact .brand-mark{width:34px!important;height:34px!important;border-radius:11px!important;}
.sidebar-compact .brand strong{font-size:12px!important}.sidebar-compact .brand span{font-size:9px!important}.sidebar-compact .user-box{padding:8px!important}.sidebar-compact .avatar{width:30px!important;height:30px!important}
.main-compact{margin-right:var(--v41-sidebar)!important;width:calc(100% - var(--v41-sidebar))!important;padding:16px 18px 28px!important;}
.dir-ltr .main-compact{margin-left:var(--v41-sidebar)!important;margin-right:0!important;}
.page-frame{max-width:var(--v41-max)!important;margin-inline:auto!important;padding-inline:0!important;}
.role-admin .page-frame{max-width:var(--v41-admin-max)!important;}.role-team .page-frame,.role-content_manager .page-frame{max-width:1080px!important;}.role-client .page-frame,.role-approver .page-frame{max-width:1120px!important;}
.topbar-compact{margin-bottom:14px!important;align-items:flex-start!important;}.topbar-compact h1{font-size:26px!important;letter-spacing:-.02em!important;}.topbar-compact p{font-size:12px!important;color:var(--muted)!important;max-width:700px!important}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.btn,.form-control,.form-select{border-radius:12px!important}.btn-sm{padding:6px 10px!important;font-size:12px!important}.alert{border-radius:14px!important;padding:10px 14px!important;font-size:13px!important}
.v41-panel,.panel,.filter-card,.calendar-wrap,.approval-card{background:var(--card)!important;border:1px solid var(--v41-border)!important;border-radius:var(--v41-radius)!important;box-shadow:var(--v41-shadow)!important;padding:14px!important;margin-bottom:12px!important;}
.v41-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.v41-head h3{font-size:17px!important;font-weight:900!important;margin:0!important;color:var(--ink)!important}.v41-head p{font-size:12px!important;color:var(--muted)!important;margin:3px 0 0!important}.v41-chip{display:inline-flex;gap:5px;align-items:center;background:#f4f8fb;border:1px solid #e4edf4;border-radius:999px;padding:6px 10px;font-size:11px;color:#4e657b;font-weight:800;white-space:nowrap}
.v41-kpis{display:grid;gap:10px;margin-bottom:12px}.v41-kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.v41-kpis article{background:var(--card);border:1px solid var(--v41-border);border-radius:16px;min-height:72px;padding:12px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'i t' 'i v';gap:1px 10px;align-items:center;box-shadow:var(--v41-shadow)}.v41-kpis i{grid-area:i;width:36px;height:36px;border-radius:12px;background:color-mix(in srgb,var(--brand) 9%, #fff);color:var(--brand);display:grid;place-items:center;font-size:16px}.v41-kpis span{grid-area:t;color:var(--muted);font-size:11px;font-weight:800}.v41-kpis strong{grid-area:v;color:var(--ink);font-size:22px;font-weight:950;line-height:1.1}
.v41-filter{background:var(--card);border:1px solid var(--v41-border);border-radius:16px;box-shadow:var(--v41-shadow);padding:12px;margin-bottom:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-items:end}.v41-filter label{font-size:11px;color:var(--muted);font-weight:900;margin-bottom:5px}.v41-filter button{min-height:40px}
.v41-task-list,.v41-content-list{display:grid;gap:8px}.v41-task-card,.v41-content-card{background:#fff;border:1px solid #e7eef5;border-radius:15px;padding:12px;display:grid;grid-template-columns:minmax(260px,1fr) 150px 150px auto;gap:10px;align-items:center;transition:.16s ease;box-shadow:0 4px 14px rgba(15,39,66,.025)}.v41-task-card.slim{grid-template-columns:minmax(260px,1fr) 150px 130px 150px auto}.v41-task-card:hover,.v41-content-card:hover{border-color:#cbd9e5;background:#fcfdff}.v41-task-card.needs-work{border-color:#ffd7a2;background:linear-gradient(90deg,#fffaf2,#fff)}
.v41-task-main h4,.v41-content-main h4{font-size:15px;font-weight:950;margin:0 0 3px;color:var(--ink)}.v41-task-main p,.v41-content-main p{font-size:12px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.v41-task-main small{font-size:11px;color:#789}.v41-status,.v41-content-stage{text-align:center}.v41-meta{background:#f8fbfd;border:1px solid #e7eef5;border-radius:13px;padding:8px 10px;min-height:54px}.v41-meta span{display:block;font-size:10.5px;color:var(--muted);font-weight:900}.v41-meta strong{display:block;font-size:12px;color:var(--ink);font-weight:900}.v41-meta small{display:block;font-size:10.5px;color:var(--muted)}.v41-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;flex-wrap:wrap}.v41-task-detail{grid-column:1/-1;background:#f8fbfd;border:1px solid #e7eef5;border-radius:14px;padding:12px;margin-top:6px}.v41-detail-grid{display:grid;grid-template-columns:1.2fr 1fr .95fr;gap:10px}.v41-detail-grid section{background:#fff;border:1px solid #e7eef5;border-radius:14px;padding:12px}.v41-detail-grid h5,.v41-completion-box h5{font-size:14px;font-weight:950;margin:0 0 8px;color:var(--ink)}.v41-detail-grid p{font-size:12px;color:#33465a;margin:4px 0;line-height:1.7}.v41-detail-grid dl{display:grid;grid-template-columns:78px 1fr;gap:6px 8px;margin:0;font-size:12px}.v41-detail-grid dt{color:var(--muted);font-weight:900}.v41-detail-grid dd{margin:0;font-weight:850;color:var(--ink)}.v41-completion-box{background:#f2fbf7;border:1px solid #caead9;border-radius:14px;padding:12px;margin-top:10px}.v41-completion-box small{display:block;margin-top:6px;color:#5a7166;font-size:11px}.v41-readonly{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:13px;padding:10px;color:var(--muted);font-size:12px;margin-top:10px}.v41-rating-line{display:flex;gap:6px;flex-wrap:wrap}.v41-rating-line span{background:#fff8e5;border:1px solid #f2d89b;color:#6b4a05;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}
.v41-content-card{grid-template-columns:minmax(300px,1.2fr) 165px 140px 92px auto}.v41-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.v41-tags span{font-size:10.5px;color:#60758a;background:#f6f9fc;border:1px solid #e7eef5;border-radius:999px;padding:3px 7px}.v41-content-stage .badge{white-space:normal!important;line-height:1.4!important}
.v41-hero-card{background:linear-gradient(135deg,#fff,#f8fbfd);border:1px solid var(--v41-border);border-radius:18px;box-shadow:var(--v41-shadow);padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.v41-person{display:flex;align-items:center;gap:10px}.v41-avatar{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--brand),#12324a);color:#fff;display:grid;place-items:center;font-weight:950}.v41-person h3,.v41-person h4{margin:0;font-weight:950;color:var(--ink);font-size:16px}.v41-person p{margin:2px 0 0;color:var(--muted);font-size:12px}.v41-score{background:#fff8e7;border:1px solid #f2d89b;border-radius:14px;padding:9px 12px;min-width:135px}.v41-score span{display:block;color:#8a6400;font-size:11px;font-weight:900}.v41-score strong{display:block;color:#573b00;font-size:18px;font-weight:950}.v41-rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v41-rating-grid div{background:#f8fafc;border:1px solid #e7eef5;border-radius:14px;padding:10px}.v41-rating-grid span{display:block;color:var(--muted);font-size:11px;font-weight:900}.v41-rating-grid strong{display:block;color:var(--ink);font-size:16px;font-weight:950;margin-top:3px}
.v41-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.v41-team-card{background:#fff;border:1px solid #e7eef5;border-radius:16px;padding:13px;display:grid;gap:10px;box-shadow:0 4px 14px rgba(15,39,66,.025)}.v41-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v41-mini-grid div,.v41-score-lines div{background:#f8fafc;border:1px solid #e7eef5;border-radius:12px;padding:8px}.v41-mini-grid span,.v41-score-lines span{display:block;color:var(--muted);font-size:10.5px;font-weight:900}.v41-mini-grid strong,.v41-score-lines b{display:block;color:var(--ink);font-size:14px;font-weight:950}.v41-score-lines{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v41-score.full{width:100%}
.v41-two-col{display:grid;grid-template-columns:1.2fr .9fr;gap:12px;margin-bottom:12px}.v41-chart{height:210px}.v41-chart canvas{max-height:210px!important}.v41-table{font-size:12px!important}.v41-table thead th{background:#102a43;color:#fff;padding:8px!important;border:0}.v41-table td{padding:8px!important}.v41-table-wrap{max-height:280px;overflow:auto;border-radius:14px}
.v41-calendar{background:#fff;border:1px solid var(--v41-border);border-radius:18px;box-shadow:var(--v41-shadow);padding:12px}.v41-calendar-head,.v41-calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.v41-calendar-head span{background:#102a43;color:#fff;border-radius:12px;text-align:center;padding:8px;font-weight:900;font-size:13px}.v41-calendar-week{margin-top:8px}.v41-calendar-day{min-height:122px;background:#f8fbfd;border:1px solid #e7eef5;border-radius:14px;padding:8px;overflow:hidden}.v41-calendar-day.muted{opacity:.35}.day-no{display:inline-flex;color:var(--brand);font-weight:950;margin-bottom:5px}.v41-calendar-item{background:#fff;border-inline-end:3px solid var(--gold);border-radius:10px;padding:7px;margin-top:6px;box-shadow:0 3px 10px rgba(15,39,66,.03)}.v41-calendar-item strong,.v41-calendar-item span{display:block;font-size:11px}.v41-calendar-item span{color:var(--muted)}
.v41-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:22px;text-align:center;color:var(--muted);grid-column:1/-1}.v41-empty i{font-size:24px;color:var(--brand);display:block;margin-bottom:6px}.v41-empty strong{display:block;color:var(--ink);font-weight:950}.v41-empty span{font-size:12px}
/* Legacy containment cleanup */
.premium-table{font-size:12px!important}.premium-table thead th,.premium-table tbody td{padding:8px 10px!important}.metric-grid{gap:10px!important}.metric-card{min-height:68px!important;padding:10px 12px!important;border-radius:16px!important}.metric-value{font-size:20px!important}.metric-icon{width:34px!important;height:34px!important;border-radius:12px!important}.compact-chart{height:180px!important}.compact-chart canvas{max-height:180px!important}
@media(max-width:1180px){.v41-kpis.four,.v41-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v41-task-card,.v41-content-card,.v41-task-card.slim{grid-template-columns:1fr 150px auto}.v41-detail-grid,.v41-two-col{grid-template-columns:1fr}.v41-content-card .v41-meta:nth-of-type(2){display:none}}
@media(max-width:900px){.sidebar-compact{position:static!important;width:100%!important}.main-compact,.dir-ltr .main-compact{margin:0!important;width:100%!important;padding:12px!important}.page-frame{max-width:100%!important}.topbar-compact{display:block!important}.v41-kpis.four,.v41-rating-grid,.v41-mini-grid,.v41-score-lines{grid-template-columns:1fr}.v41-task-card,.v41-content-card,.v41-task-card.slim{grid-template-columns:1fr}.v41-actions{justify-content:flex-start}.v41-calendar-head,.v41-calendar-week{grid-template-columns:1fr}.v41-calendar-day{min-height:auto}.v41-hero-card{display:block}.v41-score{margin-top:10px}.v41-filter{grid-template-columns:1fr}}

/* v46 bilingual entity forms */
.bilingual-form .form-section-title{font-weight:800;color:var(--ink);margin-bottom:12px;border-inline-start:4px solid var(--accent);padding-inline-start:10px}
.bilingual-form label{font-weight:700;color:var(--ink);margin-bottom:6px}
.bilingual-form .is-translating{background-image:linear-gradient(90deg, rgba(15,95,107,.05), rgba(214,168,79,.08));}


/* v47 client content requests */
.request-card-list{display:grid;gap:12px}.request-card{background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:var(--radius,18px);padding:16px;display:grid;grid-template-columns:1fr 210px;gap:14px;align-items:start;box-shadow:var(--shadow,0 10px 30px rgba(15,23,42,.06))}.request-main h4{font-size:1.05rem;margin:.25rem 0;color:var(--ink,#172033)}.request-main p{color:var(--muted,#64748b);margin-bottom:.4rem}.request-side{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.request-decision{grid-column:1/-1;background:#f8fafc;border:1px dashed var(--line,#e5e7eb);border-radius:14px;padding:12px}.request-note{grid-column:1/-1;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:10px;color:#7c2d12}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.request-files{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:900px){.request-card{grid-template-columns:1fr}.request-side{flex-direction:row;flex-wrap:wrap}}

/* v48 staff group permissions */
.permission-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:6px}.check-card{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--border,#e3ebf2);border-radius:14px;background:#fff}.check-card input{margin-top:5px}.check-card small{display:block;color:var(--muted,#6f8194);font-weight:400}.badge-soft{background:#eef4f8;color:#315368;border:1px solid #d9e5ed}
/* v49 Groups & Permissions Matrix */
.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px}.perm-section{background:rgba(255,255,255,.72);border:1px solid var(--border,#e6e9f2);border-radius:16px;padding:14px}.perm-section h4{font-size:14px;font-weight:800;margin:0 0 10px;color:var(--text,#162033)}.perm-check{display:flex;gap:9px;align-items:flex-start;border-top:1px dashed var(--border,#e6e9f2);padding:9px 0;margin:0}.perm-check:first-of-type{border-top:0}.perm-check span{font-size:13px;font-weight:700}.perm-check small,.perm-line small,.perm-override-row small{display:block;color:var(--muted,#778095);font-size:11px;font-weight:500;direction:ltr;text-align:start}.perm-line{display:flex;gap:8px;align-items:center;border-top:1px dashed var(--border,#e6e9f2);padding:8px 0;font-size:13px}.perm-line.allowed i{color:#10b981}.perm-line.denied{opacity:.55}.perm-line.denied i{color:#ef4444}.perm-override-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border-top:1px dashed var(--border,#e6e9f2);padding:8px 0;font-size:12px}.permission-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.check-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border,#e6e9f2);border-radius:14px;padding:12px;background:rgba(255,255,255,.7)}.check-card small{display:block;color:var(--muted,#778095)}.soft-sep{border-color:var(--border,#e6e9f2);opacity:.7}.compact-filter{padding:14px}.badge-soft{background:#eef2ff;color:#3046a4}

/* v51: bilingual translation buttons and sidebar cleanup */
.translation-control{display:flex;gap:8px;align-items:center;margin-top:7px;justify-content:flex-start}
.dir-rtl .translation-control{justify-content:flex-start}
.btn-translate-inline{border:1px solid color-mix(in srgb,var(--accent,#0f766e) 25%,var(--border,#dbe5ea));background:color-mix(in srgb,var(--accent,#0f766e) 8%,#fff);color:var(--primary,#0b3d4a);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:800;display:inline-flex;align-items:center;gap:6px;transition:.15s ease;box-shadow:none}
.btn-translate-inline:hover{background:color-mix(in srgb,var(--accent,#0f766e) 15%,#fff);transform:translateY(-1px)}
.btn-translate-inline[disabled]{opacity:.6;cursor:wait;transform:none}
.is-translating{background-image:linear-gradient(90deg,transparent,rgba(15,118,110,.08),transparent);background-size:200% 100%;animation:schTranslatePulse 1.2s infinite}
@keyframes schTranslatePulse{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sidebar nav .nav-link{white-space:normal;line-height:1.25}

/* v51 groups + attributes UI polish */
.admin-polish-shell{max-width:1180px;margin:0 auto 34px;display:grid;gap:18px;}
.admin-polish-hero{background:linear-gradient(135deg,#ffffff,#f7fbfd);border:1px solid #e4edf4;border-radius:26px;padding:22px;box-shadow:0 16px 38px rgba(15,45,70,.065);display:flex;align-items:center;justify-content:space-between;gap:22px;}
.admin-polish-hero.compact{align-items:flex-start;}
.admin-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#eef9fa;color:#0b6570;border:1px solid #d5eef1;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;margin-bottom:10px;}
.admin-polish-hero h2{font-size:24px;font-weight:950;color:#0f2d45;margin:0 0 6px;}
.admin-polish-hero p{color:#6d7f91;margin:0;line-height:1.8;max-width:680px;}
.hero-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:10px;min-width:330px;}
.hero-mini-card{background:#fff;border:1px solid #e7eef5;border-radius:18px;padding:12px 14px;text-align:center;}
.hero-mini-card span{display:block;color:#738597;font-size:12px;font-weight:800;margin-bottom:5px;}
.hero-mini-card strong{display:block;color:#0f2d45;font-size:22px;font-weight:950;}
.group-cards-grid,.attribute-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.org-card,.attribute-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e5edf4;border-radius:24px;padding:18px;box-shadow:0 14px 34px rgba(15,45,70,.055);display:grid;gap:14px;}
.org-card:before,.attribute-card:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#0f766e,#f3c24b);}
.org-card-admin:before,.group-admin{background:linear-gradient(135deg,#0f766e,#15384d)!important;color:#fff!important;border-color:transparent!important;}
.org-card-client:before,.group-client{background:linear-gradient(135deg,#1d5c63,#58b9c5)!important;color:#fff!important;border-color:transparent!important;}
.org-card-team:before,.group-team{background:linear-gradient(135deg,#b7862b,#f3c24b)!important;color:#102a43!important;border-color:transparent!important;}
.org-card-head,.attribute-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.org-icon{width:48px;height:48px;border-radius:17px;background:#eef9fa;color:#0b6570;display:grid;place-items:center;font-size:22px;}
.org-card-body h3,.attribute-body h3{font-size:20px;font-weight:950;color:#0f2d45;margin:0 0 5px;}
.org-card-body p,.attribute-body p{color:#708296;font-size:13px;line-height:1.7;margin:0;}
.org-card-stats,.attribute-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.org-card-stats div,.attribute-meta div{background:#f8fbfd;border:1px solid #e7eef5;border-radius:16px;padding:10px 12px;}
.org-card-stats span,.attribute-meta span{display:block;color:#8293a3;font-size:11px;font-weight:900;margin-bottom:3px;}
.org-card-stats strong,.attribute-meta strong{display:block;color:#0f2d45;font-size:16px;font-weight:950;}
.org-card-note,.attribute-note{display:flex;align-items:center;gap:7px;background:#fff8e7;border:1px solid #ffe3a3;color:#7a5200;border-radius:15px;padding:10px 12px;font-size:12px;font-weight:800;line-height:1.6;}
.org-card-actions,.attribute-actions{display:flex;justify-content:flex-end;gap:8px;}
.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;white-space:nowrap;}
.status-pill.active{background:#dff3e8;color:#126b42;}
.status-pill.inactive{background:#e9edf1;color:#586878;}
.attribute-filter{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:480px;}
.attribute-filter button{border:1px solid #dce7ef;background:#fff;color:#52677b;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:900;transition:.18s ease;}
.attribute-filter button:hover,.attribute-filter button.active{background:#0f2d45;color:#fff;border-color:#0f2d45;box-shadow:0 8px 18px rgba(15,45,70,.14);}
.attribute-group{display:inline-flex;align-items:center;border:1px solid #dce7ef;background:#f8fbfd;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;color:#52677b;}
.attribute-body{display:flex;align-items:center;gap:12px;}
.attribute-avatar{width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,#eef9fa,#fff8e7);border:1px solid #e4edf4;display:grid;place-items:center;color:#0b6570;font-size:20px;font-weight:950;}
.polished-empty{grid-column:1/-1;display:grid;place-items:center;text-align:center;gap:8px;padding:34px!important;background:#fff;border:1px dashed #dce7ef;border-radius:24px;}
.polished-empty i{font-size:34px;color:#9aacbc;}.polished-empty strong{font-size:18px;color:#0f2d45;}.polished-empty span{color:#708296;}
@media(max-width:900px){.admin-polish-hero{display:grid}.hero-mini-grid{min-width:0;grid-template-columns:1fr}.attribute-filter{justify-content:flex-start}.group-cards-grid,.attribute-cards-grid{grid-template-columns:1fr}}

/* v54 screen notifications */
.notification-nav-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-inline-start:auto;border-radius:999px;background:#dc3545;color:#fff;font-size:12px;font-weight:800;line-height:1;
}
.notification-screen-modal .modal-header{border-bottom:0;padding-bottom:.25rem}
.notification-screen-modal .modal-title{font-weight:800;display:flex;gap:.5rem;align-items:center}
.notification-screen-modal .modal-body{padding-top:.5rem}
.notification-preview-list{display:grid;gap:.5rem;margin:.75rem 0}
.notification-preview-item{border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:.65rem .75rem;background:rgba(248,249,250,.85);display:flex;flex-direction:column;gap:.15rem}
.notification-preview-item strong{font-size:.95rem}
.notification-preview-item span{font-size:.78rem;color:#6c757d}

/* v55.1: better approval submit, notification read/unread contrast, email-theme support classes */
button.is-submitting, input.is-submitting { cursor: wait !important; opacity: .78; }
.notification-list-v551 { padding: 18px; }
.notifications-stack-v551 { display: grid; gap: 14px; }
.notification-card-v551 { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: stretch; border: 1px solid #e8edf5; border-radius: 20px; padding: 16px 18px; transition: .18s ease; position: relative; overflow: hidden; }
.notification-card-v551.is-unread { background: linear-gradient(90deg, rgba(37,99,235,.09), rgba(255,255,255,.95)); border-right: 5px solid #2563eb; box-shadow: 0 14px 30px rgba(37,99,235,.10); }
.notification-card-v551.is-read { background: #fff; border-right: 5px solid #e5e7eb; opacity: .90; }
.notification-main-v551 { display: flex; gap: 12px; min-width: 0; }
.notification-dot-v551 { width: 11px; height: 11px; border-radius: 999px; background: #2563eb; flex: 0 0 auto; margin-top: 8px; box-shadow: 0 0 0 5px rgba(37,99,235,.10); }
.notification-card-v551.is-read .notification-dot-v551 { background: #cbd5e1; box-shadow: none; }
.notification-content-v551 { min-width: 0; }
.notification-title-row-v551 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.notification-title-v551 { color: #0f172a; font-weight: 900; font-size: 1.02rem; }
.notification-card-v551.is-read .notification-title-v551 { color: #334155; font-weight: 750; }
.notification-content-v551 p { margin: 0; color: #64748b; line-height: 1.75; }
.unread-badge-v551 { display: inline-flex; align-items: center; border-radius: 999px; background: #dbeafe; color: #1d4ed8; font-weight: 800; padding: 3px 9px; font-size: .74rem; }
.notification-error-v551 { display: block; margin-top: 6px; color: #dc2626; }
.notification-side-v551 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: end; }
@media (max-width: 760px) { .notification-card-v551 { grid-template-columns: 1fr; } .notification-side-v551 { justify-content: start; } }

/* v56 system health + notification preferences */
.health-grid-v56{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.health-card-v56{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border-color,#e3ebf2);border-radius:18px;background:#fff;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.health-card-v56 strong{display:block;color:#0f172a;font-weight:900}.health-card-v56 span{display:block;color:#334155;font-weight:700;margin-top:3px}.health-card-v56 small{display:block;color:#64748b;margin-top:4px;word-break:break-word}.health-state-v56{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#eef2ff;color:#1d4ed8;flex:0 0 auto}.health-card-v56.is-ok{border-color:#b7ebcd;background:#fbfffd}.health-card-v56.is-ok .health-state-v56{background:#eafaf1;color:#15935b}.health-card-v56.is-fail{border-color:#ffd0d7;background:#fff7f8}.health-card-v56.is-fail .health-state-v56{background:#fff0f2;color:#d94a5a}.health-card-v56.is-warn{border-color:#f7e5b1;background:#fffdf7}.health-card-v56.is-warn .health-state-v56{background:#fff6dd;color:#b7791f}.simple-meta-row-v56{display:flex;flex-wrap:wrap;gap:10px}.simple-meta-row-v56 span{background:#f8fafc;border:1px solid #e8edf5;border-radius:12px;padding:10px 12px;color:#64748b}.simple-meta-row-v56 strong{color:#0f172a}.system-errors-v56{max-height:360px;overflow:auto;direction:ltr;text-align:left}.switch-lite-v56 input{display:none}.switch-lite-v56 span{display:inline-block;width:54px;height:30px;border-radius:999px;background:#e5e7eb;position:relative;vertical-align:middle;transition:.18s}.switch-lite-v56 span:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 2px 8px rgba(15,23,42,.18);transition:.18s}.switch-lite-v56 input:checked+span{background:#15935b}.switch-lite-v56 input:checked+span:before{left:27px}.notification-filters-v56{background:#ffffff}.notification-prefs-v56 td,.notification-prefs-v56 th{vertical-align:middle}.notification-card-v551.is-unread{outline:2px solid rgba(29,78,216,.10)}.notification-card-v551.is-read{opacity:.86;background:#fff}.notification-card-v551.is-read .notification-title-v551{color:#475569}.notification-card-v551.is-unread .notification-title-v551{font-weight:900;color:#0f172a}

/* v59 Audit Log */
.audit-timeline{display:flex;flex-direction:column;gap:12px}
.audit-card{background:#fff;border:1px solid #e6edf5;border-right:5px solid #94a3b8;border-radius:18px;padding:16px 18px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.audit-card.severity-warning{border-right-color:#f59e0b;background:#fffbeb}
.audit-card.severity-danger,.audit-card.severity-critical{border-right-color:#dc2626;background:#fff7f7}
.audit-title{font-weight:900;color:#0f172a;font-size:1.02rem}
.audit-meta{color:#64748b;font-size:.84rem;line-height:1.7}
.audit-details{background:#f8fafc;border:1px solid #e8edf5;border-radius:12px;padding:10px 12px;color:#334155;white-space:pre-wrap}
.audit-diff{background:#f8fafc;border:1px solid #e8edf5;border-radius:12px;overflow:hidden;height:100%}
.audit-diff-title{font-weight:800;color:#0f172a;background:#eef2f7;padding:8px 10px}
.audit-diff pre{margin:0;padding:10px;white-space:pre-wrap;direction:ltr;text-align:left;font-size:.78rem;max-height:220px;overflow:auto}

/* v60 service request workflow */
.service-request-timeline{margin-top:16px;padding:14px 16px;border:1px solid #e8edf5;border-radius:18px;background:#fbfdff;}
.timeline-title{font-weight:800;color:#0f172a;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.timeline-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px dashed #e5eaf2;}
.timeline-row:first-of-type{border-top:0;}
.timeline-dot{width:10px;height:10px;border-radius:50%;background:#2563eb;margin-top:7px;box-shadow:0 0 0 4px rgba(37,99,235,.12);flex:0 0 auto;}
.timeline-row strong{display:block;color:#0f172a;font-size:14px;}
.timeline-row small{display:block;color:#334155;line-height:1.7;}
.timeline-row em{display:block;color:#64748b;font-size:12px;font-style:normal;margin-top:2px;}
.request-card .text-bg-light{background:#eef6ff!important;color:#075985!important;border:1px solid #dbeafe;}
.request-decision .btn[disabled], .request-decision .btn.is-submitting{opacity:.75;cursor:not-allowed;}


/* v65 stable UX hardening */
.service-request-card{position:relative;overflow:hidden}
.service-request-card::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:#dbe5f0}
.service-request-card.status-approved::before{background:#16a34a}
.service-request-card.status-needs_revision::before{background:#f59e0b}
.service-request-card.status-rejected::before{background:#dc2626}
.service-request-card.status-pending_approver::before{background:#2563eb}
.service-request-card .request-decision .is-invalid{border-color:#dc2626;box-shadow:0 0 0 .2rem rgba(220,38,38,.12)}
.notification-card-v551.is-unread{background:linear-gradient(135deg,#f5f9ff,#ffffff);border-inline-start:5px solid #2563eb}
.notification-card-v551.is-read{filter:saturate(.92);opacity:.86;background:#fff}
.notification-card-v551 .btn-outline-dark{border-radius:999px;font-weight:800}
.health-card-v56,.contained-panel,.panel{transition:box-shadow .18s ease, transform .18s ease}
.health-card-v56:hover,.contained-panel:hover,.panel:hover{box-shadow:0 12px 28px rgba(15,23,42,.07)}
button.is-submitting,.btn.is-submitting{pointer-events:none;opacity:.72}


/* v66 responsive cross-device hardening */
.mobile-menu-btn{display:none;align-items:center;gap:8px;position:fixed;top:12px;inset-inline-start:12px;z-index:1080;border:1px solid rgba(15,45,70,.12);background:#fff;color:var(--v35-ink,#0f2d45);border-radius:14px;padding:10px 13px;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.12)}
.mobile-menu-btn i{font-size:20px;line-height:1}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:1060;backdrop-filter:blur(2px)}
.app-shell{min-height:100dvh}.main-compact{min-height:100dvh}.page-frame{width:100%;max-width:var(--v35-container,1320px);margin-inline:auto}.main-compact img,.main-compact video,.main-compact iframe{max-width:100%;height:auto}.table{min-width:max-content}.table-responsive,.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.panel,.contained-panel,.compact-panel{max-width:100%;overflow-wrap:anywhere}.form-control,.form-select,.btn{max-width:100%}.top-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.top-actions .btn{white-space:nowrap}.role-grid,.dashboard-grid,.work-grid,.reports-grid,.cards-grid,.settings-grid{min-width:0}.notification-preview-list,.notification-list,.activity-timeline{max-width:100%;overflow-wrap:anywhere}

@media (max-width: 1399.98px){
  :root{--v35-container:1180px;--content-width:1180px}.main-compact{padding-inline:18px!important}.role-grid.four{grid-template-columns:repeat(3,minmax(0,1fr))!important}.content-row-v35{grid-template-columns:minmax(260px,1fr) 150px 130px auto!important}.task-row-v35{grid-template-columns:minmax(260px,1fr) 92px 92px auto!important}
}
@media (max-width: 1199.98px){
  :root{--v35-container:100%;--v35-sidebar:220px}.main-compact{padding-inline:16px!important}.role-grid.four,.role-grid.three,.role-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}.content-row-v35,.task-row-v35{grid-template-columns:1fr 120px auto!important}.content-assignee-v35,.content-attachments-v35,.task-status-v35.hide-md{display:none!important}.task-detail-grid-v35{grid-template-columns:1fr!important}.filter-slim .row,.filter-card .row{row-gap:10px}.modal-dialog{max-width:calc(100vw - 28px)!important;margin-inline:auto!important}
}
@media (max-width: 991.98px){
  html,body{max-width:100%;overflow-x:hidden}.mobile-menu-btn{display:inline-flex}.sidebar-backdrop{display:block;opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease}.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}.sidebar-compact{position:fixed!important;top:0!important;bottom:0!important;width:min(86vw,320px)!important;max-width:320px!important;height:100dvh!important;overflow-y:auto!important;z-index:1070!important;transition:transform .22s ease!important;padding-top:72px!important}.dir-rtl .sidebar-compact{right:0!important;left:auto!important;transform:translateX(105%)!important}.dir-ltr .sidebar-compact{left:0!important;right:auto!important;transform:translateX(-105%)!important}.dir-rtl.sidebar-open .sidebar-compact,.dir-ltr.sidebar-open .sidebar-compact{transform:translateX(0)!important}.main-compact,.dir-ltr .main-compact{width:100%!important;margin:0!important;padding:72px 14px 28px!important}.topbar-compact{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}.topbar-compact h1{font-size:22px!important}.top-actions{justify-content:flex-start}.dir-ltr .top-actions{justify-content:flex-start}.sidebar-compact .brand{position:absolute;top:14px;inset-inline:14px;margin:0}.sidebar-compact nav{padding-bottom:20px}.sidebar-compact .nav-link{min-height:42px!important;font-size:14px!important}.role-grid.four,.role-grid.three,.role-grid.two,.role-summary-compact{grid-template-columns:1fr 1fr!important}.content-row-v35,.task-row-v35{grid-template-columns:1fr!important}.content-main-v35 p{white-space:normal!important;max-width:none!important}.content-actions-v35,.task-actions-v35{justify-content:flex-start!important}.section-head.compact-head{align-items:flex-start;flex-direction:column}.attachment-modal .modal-dialog{margin:8px!important;max-width:calc(100vw - 16px)!important}.toast-container{inset-inline:8px!important;bottom:8px!important}.toast{width:100%!important}
}
@media (max-width: 767.98px){
  .main-compact,.dir-ltr .main-compact{padding-inline:10px!important}.mobile-menu-btn{top:8px;inset-inline-start:8px;padding:9px 11px}.topbar-compact h1{font-size:20px!important}.topbar-compact p{font-size:12px!important}.top-actions .btn,.filter-slim .btn,.panel .btn{width:100%;justify-content:center}.btn-group,.action-row,.content-actions-v35,.task-actions-v35{width:100%;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.role-grid.four,.role-grid.three,.role-grid.two,.role-summary-compact{grid-template-columns:1fr!important}.metric-card,.kpi-card,.summary-tile{min-height:72px!important}.metric-value,.kpi-card strong,.summary-tile strong{font-size:20px!important}.panel,.compact-panel,.contained-panel{padding:12px!important;border-radius:14px!important}.filter-slim .row>[class*="col-"],.form-panel .row>[class*="col-"],.settings-grid>[class*="col-"]{width:100%!important;flex:0 0 100%!important;max-width:100%!important}.table{font-size:12px}.table th,.table td{padding:8px!important}.modal-body{padding:14px!important}.modal-footer{display:grid!important;grid-template-columns:1fr!important}.notification-card{padding:14px!important}.notification-screen-modal .modal-body{max-height:70dvh;overflow:auto}
}
@media (max-width: 479.98px){
  .main-compact,.dir-ltr .main-compact{padding-inline:8px!important}.sidebar-compact{width:92vw!important}.topbar-compact h1{font-size:18px!important}.brand strong{font-size:12px!important}.brand span{display:none!important}.metric-card,.summary-tile{display:block!important;text-align:start}.notification-nav-badge{margin-inline-start:auto}.form-control,.form-select{min-height:42px}.btn{min-height:40px}.page-frame{max-width:100%}.content-meta-v35,.task-meta-v35{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}.detail-times-v35 dl{grid-template-columns:1fr!important}.chart-card canvas,.compact-chart canvas{max-height:220px!important}
}
@media (min-width: 1600px){:root{--v35-container:1480px}.main-compact{padding-inline:32px!important}.topbar-compact h1{font-size:28px!important}}
@media (pointer: coarse){.nav-link,.btn,.form-control,.form-select{min-height:44px}.sidebar-compact .nav-link{min-height:46px!important}}
@media print{.mobile-menu-btn,.sidebar-backdrop,.sidebar-compact,.top-actions{display:none!important}.main-compact{margin:0!important;width:100%!important;padding:0!important}.page-frame{max-width:100%!important}}

/* v67 plan detail/edit/export improvements */
.info-box {
  background: #f8fafc;
  border: 1px solid #e6edf5;
  border-radius: 16px;
  padding: 14px 16px;
  min-height: 78px;
}
.info-box span {
  display: block;
  color: #64748b;
  font-size: .86rem;
  margin-bottom: 6px;
}
.info-box strong {
  color: #0f172a;
  font-weight: 800;
}
@media (max-width: 768px) {
  .btn-group { flex-wrap: wrap; gap: 6px; }
  .btn-group > .btn { border-radius: 12px !important; }
  .premium-table td, .premium-table th { white-space: nowrap; }
}

/* v70 polished plan detail layout */
.plan-detail-v70{display:grid;gap:18px;max-width:1180px;margin-inline:auto}.plan-hero-v70{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:24px;border:1px solid #e5edf6;border-radius:26px;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);box-shadow:0 18px 45px rgba(15,23,42,.07)}.plan-kicker-v70{display:inline-flex;align-items:center;gap:8px;background:#eaf6f8;color:#0f6774;border:1px solid #cfeff3;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;margin-bottom:12px}.plan-hero-main-v70 h1{font-size:clamp(30px,4vw,52px);line-height:1.1;margin:0;color:#071e34;font-weight:950;letter-spacing:-.03em}.plan-meta-v70{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.plan-meta-v70 span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e5edf6;border-radius:14px;padding:8px 12px;color:#334155;font-weight:800}.plan-goal-v70{margin:16px 0 0;color:#475569;font-weight:700;line-height:1.8;max-width:720px}.plan-actions-v70{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.plan-actions-v70 form{display:inline-flex;margin:0}.plan-actions-v70 .btn{border-radius:14px;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.06)}.plan-stats-v70{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.plan-stat-v70{position:relative;overflow:hidden;min-height:105px;padding:18px;border-radius:22px;background:#fff;border:1px solid #e5edf6;box-shadow:0 12px 30px rgba(15,23,42,.05)}.plan-stat-v70 span{display:block;color:#64748b;font-size:13px;font-weight:900;margin-bottom:8px}.plan-stat-v70 strong{font-size:30px;color:#071e34;font-weight:950}.plan-stat-v70 i{position:absolute;inset-inline-end:16px;bottom:12px;font-size:42px;color:#e1edf7}.plan-section-v70{background:#fff;border:1px solid #e5edf6;border-radius:24px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.055)}.section-title-v70{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #eef3f8}.section-title-v70 h3{margin:0;color:#071e34;font-weight:950;font-size:22px}.section-title-v70 p{margin:5px 0 0;color:#64748b;font-size:13px;font-weight:700}.count-pill-v70{display:inline-flex;align-items:center;justify-content:center;min-width:74px;background:#f1f7fb;border:1px solid #dcebf5;color:#0f2d45;border-radius:999px;padding:8px 12px;font-weight:950}.plan-info-grid-v70{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.info-box-v70{background:linear-gradient(180deg,#fbfdff,#f8fafc);border:1px solid #e5edf6;border-radius:18px;padding:16px;min-height:86px}.info-box-v70.wide{grid-column:1/-1}.info-box-v70 span{display:block;color:#64748b;font-size:13px;font-weight:900;margin-bottom:8px}.info-box-v70 strong{display:block;color:#0f172a;font-weight:950;line-height:1.7}.plan-table-wrap-v70{overflow-x:auto}.plan-table-v70{margin:0!important;min-width:900px!important;border-collapse:separate!important;border-spacing:0 8px!important}.plan-table-v70 thead th{background:#0f2d45!important;color:#fff!important;border:0!important;padding:12px 14px!important;font-size:13px;font-weight:950;white-space:nowrap}.plan-table-v70 thead th:first-child{border-start-start-radius:16px;border-end-start-radius:16px}.plan-table-v70 thead th:last-child{border-start-end-radius:16px;border-end-end-radius:16px}.plan-table-v70 tbody tr{box-shadow:0 8px 20px rgba(15,23,42,.04)}.plan-table-v70 tbody td{background:#fbfdff!important;border-top:1px solid #e8f0f7!important;border-bottom:1px solid #e8f0f7!important;padding:13px 14px!important;color:#0f172a;font-weight:700;vertical-align:middle}.plan-table-v70 tbody td:first-child{border-inline-start:1px solid #e8f0f7!important;border-start-start-radius:14px;border-end-start-radius:14px}.plan-table-v70 tbody td:last-child{border-inline-end:1px solid #e8f0f7!important;border-start-end-radius:14px;border-end-end-radius:14px}.title-cell-v70{font-weight:950!important;color:#071e34!important}.soft-pill-v70,.status-pill-v70{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;background:#eef6ff;color:#075985;border:1px solid #dbeafe;font-size:12px;font-weight:900}.status-pill-v70{background:#f8fafc;color:#334155;border-color:#e2e8f0}.row-actions-v70{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.row-actions-v70 form{display:inline-flex;margin:0}.row-actions-v70 .btn{border-radius:12px;font-weight:900;white-space:nowrap}.empty-state-v70{display:grid;place-items:center;text-align:center;gap:8px;padding:34px;border:1px dashed #d7e4ef;border-radius:20px;background:#fbfdff;color:#64748b}.empty-state-v70 i{font-size:34px;color:#9db5c8}.empty-state-v70 strong{color:#0f172a;font-weight:950}.empty-state-v70 span{font-weight:700;font-size:13px}
@media (max-width:991.98px){.plan-hero-v70{grid-template-columns:1fr}.plan-actions-v70{justify-content:flex-start}.plan-stats-v70{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-info-grid-v70{grid-template-columns:1fr}.plan-table-v70{min-width:0!important;border-spacing:0 10px!important}.plan-table-v70 thead{display:none}.plan-table-v70,.plan-table-v70 tbody,.plan-table-v70 tr,.plan-table-v70 td{display:block;width:100%}.plan-table-v70 tbody tr{background:#fbfdff;border:1px solid #e8f0f7;border-radius:18px;padding:10px;margin-bottom:12px}.plan-table-v70 tbody td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;background:transparent!important;border:0!important;border-bottom:1px dashed #e5edf6!important;border-radius:0!important;padding:10px!important}.plan-table-v70 tbody td:last-child{border-bottom:0!important}.plan-table-v70 tbody td::before{content:attr(data-label);color:#64748b;font-size:12px;font-weight:950}.row-actions-v70{justify-content:flex-start}.row-actions-v70 .btn,.row-actions-v70 form{width:100%}.row-actions-v70 form .btn{width:100%}}@media (max-width:575.98px){.plan-detail-v70{gap:12px}.plan-hero-v70,.plan-section-v70{padding:14px;border-radius:18px}.plan-stats-v70{grid-template-columns:1fr}.plan-actions-v70 .btn,.plan-actions-v70 form{width:100%}.plan-actions-v70 form .btn{width:100%}.section-title-v70{flex-direction:column}.plan-table-v70 tbody td{grid-template-columns:1fr;gap:4px}.plan-hero-main-v70 h1{font-size:28px}}


/* v76 final sidebar/navigation/responsive hardening */
.sidebar nav,
.sidebar-compact nav{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  max-height:calc(100vh - 190px)!important;
  padding-inline-end:4px!important;
  scrollbar-width:thin;
}
.sidebar .nav-link,
.sidebar-compact .nav-link,
.sch-force-content-link{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  white-space:normal!important;
}
.sidebar .nav-link i,
.sidebar-compact .nav-link i{flex:0 0 auto!important;}
.table-responsive,.panel,.filter-card,.metric-card,.approval-card,.client-card{max-width:100%!important;}
table{max-width:100%!important;}
img,video,iframe{max-width:100%;}
@media (max-width: 1199px){
  .metric-grid,.client-grid,.kpi-grid,.v41-kpis.four,.v40-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .grid-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width: 991px){
  .app-shell{display:block!important;}
  .mobile-menu-btn{display:inline-flex!important;position:fixed!important;top:12px!important;inset-inline-start:12px!important;z-index:1201!important;align-items:center!important;gap:6px!important;border:0!important;border-radius:999px!important;padding:9px 12px!important;background:var(--sidebar,#102a43)!important;color:#fff!important;box-shadow:0 10px 24px rgba(15,23,42,.18)!important;}
  .sidebar,.sidebar-compact{position:fixed!important;top:0!important;bottom:0!important;inset-inline-start:auto!important;inset-inline-end:0!important;width:min(86vw,320px)!important;max-width:320px!important;z-index:1200!important;transform:translateX(110%)!important;transition:transform .22s ease!important;overflow:hidden!important;}
  body.sidebar-open .sidebar,body.sidebar-open .sidebar-compact{transform:translateX(0)!important;}
  .sidebar-backdrop{display:none!important;position:fixed!important;inset:0!important;background:rgba(15,23,42,.45)!important;z-index:1199!important;}
  body.sidebar-open .sidebar-backdrop{display:block!important;}
  .main,.main-compact,.dir-ltr .main,.dir-ltr .main-compact{margin:0!important;width:100%!important;padding:66px 12px 18px!important;}
  .topbar,.topbar-compact{display:block!important;}
  .top-actions{margin-top:10px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
  .premium-table,.table{font-size:12px!important;}
  .table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
}
@media (max-width: 640px){
  .metric-grid,.client-grid,.kpi-grid,.v41-kpis.four,.v40-stats,.grid-filter,.v41-rating-grid,.v41-mini-grid,.v41-score-lines{grid-template-columns:1fr!important;}
  .panel,.filter-card,.metric-card,.approval-card,.client-card{padding:14px!important;border-radius:18px!important;}
  .btn,.btn-premium,.btn-soft{width:100%;justify-content:center;margin-bottom:6px;}
  .topbar h1,.topbar-compact h1{font-size:22px!important;}
}


/* =========================================================
   v92 Visual Design System Refresh
   الهدف: توحيد الثيم والخطوط والكروت والجداول والأزرار والحالات
   بدون تغيير الصلاحيات أو قاعدة البيانات.
   ========================================================= */
:root{
  --sch-font: var(--app-font,'Tajawal',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
  --sch-bg: #f6f8fb;
  --sch-surface: #ffffff;
  --sch-surface-2: #f9fbfd;
  --sch-ink: #102033;
  --sch-ink-2: #31445a;
  --sch-muted: #718196;
  --sch-border: #e5edf4;
  --sch-border-strong: #d7e3ec;
  --sch-primary: #12324a;
  --sch-primary-2: #1d5c63;
  --sch-accent: #d6a84f;
  --sch-success: #14804a;
  --sch-warning: #b7791f;
  --sch-danger: #b4233a;
  --sch-info: #116a8c;
  --sch-radius-xs: 10px;
  --sch-radius-sm: 14px;
  --sch-radius-md: 18px;
  --sch-radius-lg: 24px;
  --sch-shadow-sm: 0 8px 20px rgba(15,45,70,.045);
  --sch-shadow-md: 0 14px 34px rgba(15,45,70,.07);
  --sch-shadow-lg: 0 22px 50px rgba(15,45,70,.10);
  --sch-focus: 0 0 0 .22rem rgba(29,92,99,.14);
  --sch-sidebar: 232px;
}
html,body{font-family:var(--sch-font)!important;color:var(--sch-ink);background:
  radial-gradient(circle at 88% -10%, rgba(214,168,79,.12), transparent 30%),
  radial-gradient(circle at 8% 8%, rgba(29,92,99,.10), transparent 25%),
  var(--sch-bg)!important;}
body{font-size:14.5px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--sch-primary-2)}
a:hover{color:var(--sch-primary)}
.app-shell{background:transparent;}
.page-frame{max-width:1480px;margin-inline:auto;}
.main-compact{padding:24px 26px 34px!important;margin-right:var(--sch-sidebar)!important;width:calc(100% - var(--sch-sidebar))!important;}
.dir-ltr .main-compact{margin-left:var(--sch-sidebar)!important;margin-right:0!important;}
.sidebar-compact{width:var(--sch-sidebar)!important;background:linear-gradient(180deg,#0f2538 0%,#12324a 48%,#0c2133 100%)!important;border-inline-start:1px solid rgba(255,255,255,.08);box-shadow:-16px 0 36px rgba(10,31,50,.13)!important;}
.dir-ltr .sidebar-compact{box-shadow:16px 0 36px rgba(10,31,50,.13)!important;}
.sidebar-compact .brand{border-bottom:1px solid rgba(255,255,255,.10);gap:10px;}
.sidebar-compact .brand-mark{background:linear-gradient(135deg,#f0c56d,#fff4c6)!important;box-shadow:0 10px 24px rgba(214,168,79,.22);}
.sidebar-compact .brand strong{letter-spacing:.1px;color:#fff;}
.sidebar-compact .brand span{color:#abc0cf!important;}
.sidebar-compact nav{gap:5px!important;overflow:auto;padding-inline-end:2px;}
.sidebar-compact nav::-webkit-scrollbar{width:5px}.sidebar-compact nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.sidebar-compact .nav-link{color:#d7e6ef!important;min-height:40px;border:1px solid transparent;position:relative;font-weight:700;letter-spacing:.05px;}
.sidebar-compact .nav-link i{opacity:.92;min-width:18px;text-align:center;}
.sidebar-compact .nav-link:hover{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.10);transform:translateX(-2px);}
.dir-ltr .sidebar-compact .nav-link:hover{transform:translateX(2px);}
.sidebar-compact .nav-link.active,.sidebar-compact .nav-link.primary{background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.08))!important;color:#fff!important;border-color:rgba(214,168,79,.35)!important;box-shadow:inset 3px 0 0 rgba(214,168,79,.92);}
.dir-ltr .sidebar-compact .nav-link.active,.dir-ltr .sidebar-compact .nav-link.primary{box-shadow:inset -3px 0 0 rgba(214,168,79,.92);}
.language-switch{display:flex;gap:6px;align-items:center;}
.lang-pill{border-radius:999px;padding:5px 10px;text-decoration:none;background:rgba(255,255,255,.08);color:#d7e6ef;font-weight:800;font-size:12px;border:1px solid rgba(255,255,255,.08)}
.lang-pill.active{background:#fff;color:var(--sch-primary);}
.user-box{background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.avatar{background:linear-gradient(135deg,#fff,#e9f2f7)!important;color:var(--sch-primary)!important;}
.topbar-compact{padding:0 2px 16px!important;margin-bottom:16px!important;border-bottom:1px solid rgba(215,227,236,.55);}
.topbar-compact h1{font-size:28px!important;font-weight:900!important;letter-spacing:-.35px;color:var(--sch-ink);}
.topbar-compact p{font-size:13.5px!important;color:var(--sch-muted)!important;max-width:840px;}
.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.panel,.filter-card,.metric-card,.approval-card,.client-card,.compact-panel,.ux-card,.task-card,.calendar-wrap,.login-card,.detail-tabs,.content-card,.approval-box,.decision-box,.summary-box p,.kv-grid div,.rating-card,.compact-panel-soft,.page-banner,.admin-catalog-card{background:rgba(255,255,255,.94)!important;border:1px solid var(--sch-border)!important;border-radius:var(--sch-radius-lg)!important;box-shadow:var(--sch-shadow-sm)!important;}
.panel:hover,.metric-card:hover,.client-card:hover,.task-card:hover,.approval-card:hover{box-shadow:var(--sch-shadow-md)!important;}
.panel h3,.approval-card h3,.compact-panel h3,.client-card h3{color:var(--sch-ink);font-weight:900;letter-spacing:-.15px;}
.form-control,.form-select{border-color:var(--sch-border-strong)!important;border-radius:var(--sch-radius-sm)!important;background:#fff;min-height:42px;color:var(--sch-ink);}
.form-control::placeholder{color:#9aaabc;}
.form-control:focus,.form-select:focus{border-color:rgba(29,92,99,.55)!important;box-shadow:var(--sch-focus)!important;}
.form-panel label,.form-label,label{font-weight:800;color:var(--sch-ink-2);font-size:13px;margin-bottom:6px;}
.btn{border-radius:var(--sch-radius-sm)!important;font-weight:800;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:none!important;}
.btn-sm{min-height:32px;border-radius:12px!important;font-size:12px;}
.btn-premium,.btn-primary{background:linear-gradient(135deg,var(--sch-primary-2),var(--sch-primary))!important;border-color:transparent!important;color:#fff!important;}
.btn-premium:hover,.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px);}
.btn-soft,.btn-outline-secondary{background:#f8fafc!important;border:1px solid var(--sch-border-strong)!important;color:var(--sch-ink-2)!important;}
.btn-soft-success,.btn-success{background:#edf9f2!important;border-color:#cdebd9!important;color:var(--sch-success)!important;}
.btn-soft-danger,.btn-danger{background:#fff1f3!important;border-color:#ffd3da!important;color:var(--sch-danger)!important;}
.btn-warning{background:#fff7e6!important;border-color:#f3d58a!important;color:#7a5200!important;}
.badge,.status-badge,.priority-badge{border-radius:999px!important;padding:.42rem .68rem;font-weight:900;font-size:11.5px;letter-spacing:.05px;}
.badge-warning{background:#fff7e6!important;color:#8a5b00!important;border:1px solid #f3d58a;}
.badge-success{background:#eaf8f1!important;color:#087a40!important;border:1px solid #c9ead9;}
.badge-danger{background:#fff0f1!important;color:#b02030!important;border:1px solid #ffd3d8;}
.badge-info{background:#e8f7fb!important;color:#055160!important;border:1px solid #c8edf5;}
.badge-dark{background:#102033!important;color:white!important;}
.badge-secondary{background:#eef2f7!important;color:#475569!important;border:1px solid #dbe4ed;}
.premium-table,.table{border-collapse:separate!important;border-spacing:0 8px!important;}
.premium-table thead th,.table thead th{background:var(--sch-primary)!important;color:#fff!important;border:0!important;font-size:12px;font-weight:900;white-space:nowrap;}
.premium-table tbody tr,.table tbody tr{background:#fff!important;box-shadow:var(--sch-shadow-sm);}
.premium-table tbody td,.table tbody td{border-top:1px solid var(--sch-border)!important;border-bottom:1px solid var(--sch-border)!important;vertical-align:middle;color:var(--sch-ink-2);}
.table tbody td:first-child{border-radius:0 var(--sch-radius-sm) var(--sch-radius-sm) 0;border-right:1px solid var(--sch-border)!important;}
.table tbody td:last-child{border-radius:var(--sch-radius-sm) 0 0 var(--sch-radius-sm);border-left:1px solid var(--sch-border)!important;}
.dir-ltr .table tbody td:first-child{border-radius:var(--sch-radius-sm) 0 0 var(--sch-radius-sm);border-left:1px solid var(--sch-border)!important;border-right:0!important;}
.dir-ltr .table tbody td:last-child{border-radius:0 var(--sch-radius-sm) var(--sch-radius-sm) 0;border-right:1px solid var(--sch-border)!important;border-left:0!important;}
.filter-card{padding:16px!important;}
.filter-card .row{row-gap:10px;}
.metric-grid{gap:14px!important;}
.metric-card{min-height:98px!important;padding:16px!important;}
.metric-icon{background:linear-gradient(135deg,#eef8f9,#fff8e8)!important;color:var(--sch-primary-2)!important;border:1px solid #dcebef;}
.metric-title{color:var(--sch-muted)!important;font-weight:700;}
.metric-value{color:var(--sch-ink);font-weight:900!important;}
.workflow-strip{background:linear-gradient(135deg,#fff,#f2f8fa)!important;border-color:var(--sch-border)!important;box-shadow:var(--sch-shadow-sm);}
.workflow-strip span{background:linear-gradient(135deg,var(--sch-primary-2),var(--sch-primary))!important;}
.workflow-stepper,.stepper{transform:none!important;}
.workflow-step,.stepper .step,.task-timeline>div{border-color:var(--sch-border)!important;background:#fff!important;box-shadow:0 5px 16px rgba(15,45,70,.035);}
.workflow-step.active,.stepper .active{background:linear-gradient(135deg,#eef8f9,#fff)!important;border-color:#c9e0e5!important;}
.content-preview,.ux-preview{background:var(--sch-surface-2)!important;border-color:var(--sch-border)!important;color:var(--sch-ink-2);}
.alert{border-radius:var(--sch-radius-md)!important;border:1px solid transparent!important;box-shadow:var(--sch-shadow-sm);}
.alert-success{background:#edf9f2!important;color:#087a40!important;border-color:#c9ead9!important;}
.alert-danger{background:#fff1f3!important;color:#b02030!important;border-color:#ffd3d8!important;}
.alert-warning{background:#fff7e6!important;color:#8a5b00!important;border-color:#f3d58a!important;}
.alert-info{background:#e8f7fb!important;color:#055160!important;border-color:#c8edf5!important;}
.modal-content{border:1px solid var(--sch-border)!important;border-radius:var(--sch-radius-lg)!important;box-shadow:var(--sch-shadow-lg)!important;}
.modal-header,.modal-footer{border-color:var(--sch-border)!important;}
.calendar-day{background:#fff!important;border-color:var(--sch-border)!important;box-shadow:0 5px 18px rgba(15,45,70,.035);}
.calendar-head span{background:var(--sch-primary)!important;border-radius:var(--sch-radius-sm)!important;}
.calendar-item{border-right-color:var(--sch-accent)!important;box-shadow:0 6px 18px rgba(15,45,70,.05)!important;}
.dir-ltr .calendar-item{border-left:4px solid var(--sch-accent)!important;border-right:0!important;}
.saving-overlay{backdrop-filter:blur(8px);background:rgba(15,32,51,.28)!important;}
.saving-card{border-radius:var(--sch-radius-lg)!important;border:1px solid var(--sch-border)!important;box-shadow:var(--sch-shadow-lg)!important;}
.mobile-menu-btn{background:linear-gradient(135deg,var(--sch-primary-2),var(--sch-primary))!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:var(--sch-shadow-md)!important;}
/* Priority visual helpers used by v90 catalogs and future kanban. */
.priority-normal,.priority-عادي{--p:#64748b}.priority-medium,.priority-متوسط{--p:#116a8c}.priority-high,.priority-عالي{--p:#b7791f}.priority-urgent,.priority-عاجل{--p:#b45309}.priority-critical,.priority-حرج{--p:#b4233a}
.priority-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;background:color-mix(in srgb,var(--p,#64748b) 10%,#fff);border:1px solid color-mix(in srgb,var(--p,#64748b) 26%,#fff);color:var(--p,#64748b);font-weight:900;font-size:12px;}
.priority-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--p,#64748b);}
/* Better density for operation-heavy pages. */
.content-table-v30 td,.content-table-v30 th,.compact-table td,.compact-table th{padding:10px 12px!important;}
.task-card h3,.approval-card h3{line-height:1.35;}
.empty,.zero-state{border-radius:var(--sch-radius-md)!important;background:#f8fafc!important;border:1px dashed var(--sch-border-strong)!important;color:var(--sch-muted)!important;}
@media(max-width:992px){
  :root{--sch-sidebar:100%;}
  .sidebar-compact{position:fixed!important;right:0;top:0;bottom:0;width:min(88vw,320px)!important;z-index:1200;transform:translateX(105%);transition:.24s ease;}
  .dir-ltr .sidebar-compact{left:0;right:auto;transform:translateX(-105%);}
  body.sidebar-open .sidebar-compact{transform:translateX(0)!important;}
  .main-compact,.dir-ltr .main-compact{margin:0!important;width:100%!important;padding:72px 14px 22px!important;}
  .topbar-compact{display:block!important;}
  .topbar-compact h1{font-size:22px!important;}
  .top-actions{margin-top:10px;}
}
@media(max-width:680px){
  body{font-size:13.5px;}
  .panel,.filter-card,.metric-card,.approval-card,.client-card,.compact-panel,.task-card{border-radius:18px!important;padding:14px!important;}
  .table-responsive{border-radius:18px;}
  .btn{width:auto;}
  .top-actions .btn{width:100%;}
}
@media print{body{background:#fff!important}.panel,.metric-card,.table tbody tr{box-shadow:none!important}}

/* v93 Content Kanban */
.kanban-toolbar-v93{display:grid;grid-template-columns:140px 140px 140px minmax(0,1fr);gap:12px;align-items:stretch;margin-bottom:16px}.kanban-stat-v93{background:var(--card-bg,#fff);border:1px solid var(--line,#e5e7eb);border-radius:18px;padding:13px 14px;box-shadow:var(--shadow-soft,0 10px 25px rgba(15,23,42,.06))}.kanban-stat-v93 span{display:block;color:var(--muted,#64748b);font-size:12px}.kanban-stat-v93 strong{font-size:26px;font-weight:900;color:var(--ink,#102a43)}.kanban-stat-v93.urgent strong{color:#b45309}.kanban-stat-v93.late strong{color:#b91c1c}.kanban-filter-v93{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.9);border:1px solid var(--line,#e5e7eb);border-radius:18px;padding:10px;box-shadow:var(--shadow-soft,0 10px 25px rgba(15,23,42,.06))}.kanban-filter-v93 .form-select{width:auto;min-width:150px}.kanban-check-v93{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;padding:9px 11px;font-size:13px;color:#334155;white-space:nowrap}.kanban-board-v93{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(295px,1fr);gap:14px;overflow-x:auto;min-height:calc(100vh - 260px);padding-bottom:14px;scroll-snap-type:x proximity}.kanban-column-v93{background:linear-gradient(180deg,rgba(248,250,252,.95),rgba(241,245,249,.9));border:1px solid #e2e8f0;border-radius:22px;padding:12px;scroll-snap-align:start;min-height:420px}.kanban-column-v93.tone-warning{background:linear-gradient(180deg,#fff7ed,#fff)}.kanban-column-v93.tone-success{background:linear-gradient(180deg,#ecfdf5,#fff)}.kanban-column-v93.tone-danger{background:linear-gradient(180deg,#fef2f2,#fff)}.kanban-column-v93.tone-primary,.kanban-column-v93.tone-info{background:linear-gradient(180deg,#eff6ff,#fff)}.kanban-column-head-v93{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.kanban-column-head-v93 strong{font-size:15px;color:#0f172a}.kanban-column-head-v93 span{background:#0f172a;color:#fff;border-radius:999px;min-width:28px;height:28px;display:grid;place-items:center;font-size:12px;font-weight:800}.kanban-card-list-v93{display:grid;gap:10px}.kanban-card-v93{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:20px;padding:13px;box-shadow:0 10px 25px rgba(15,23,42,.06);transition:.18s ease}.kanban-card-v93:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(15,23,42,.1)}.kanban-card-top-v93{display:flex;justify-content:space-between;gap:10px;align-items:start}.kanban-card-top-v93 a{color:#0f172a;text-decoration:none;font-weight:900;line-height:1.35}.kanban-card-top-v93 a:hover{color:var(--teal,#1d5c63)}.kanban-card-top-v93 small{color:#94a3b8;font-weight:800}.kanban-card-v93 p{color:#64748b;margin:8px 0 10px;font-size:13px;line-height:1.7}.kanban-badges-v93{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.kanban-pill-v93{--pill-color:#64748b;display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:color-mix(in srgb,var(--pill-color) 12%,#fff);border:1px solid color-mix(in srgb,var(--pill-color) 28%,#fff);color:color-mix(in srgb,var(--pill-color) 75%,#111827);font-size:12px;font-weight:800}.kanban-pill-v93.muted{--pill-color:#64748b}.kanban-meta-v93{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.kanban-meta-v93 div{background:#f8fafc;border:1px solid #edf2f7;border-radius:13px;padding:8px}.kanban-meta-v93 dt{font-size:11px;color:#64748b;font-weight:700}.kanban-meta-v93 dd{margin:2px 0 0;color:#0f172a;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card-foot-v93{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;color:#64748b;font-size:12px}.kanban-card-foot-v93 span{background:#f8fafc;border:1px solid #edf2f7;border-radius:999px;padding:5px 8px}.kanban-empty-v93{border:1px dashed #cbd5e1;border-radius:18px;padding:18px;text-align:center;color:#94a3b8;background:rgba(255,255,255,.55)}
@media(max-width:1200px){.kanban-toolbar-v93{grid-template-columns:repeat(3,1fr)}.kanban-filter-v93{grid-column:1/-1}.kanban-board-v93{grid-auto-columns:minmax(285px,86vw)}}@media(max-width:700px){.kanban-toolbar-v93{grid-template-columns:1fr}.kanban-filter-v93 .form-select,.kanban-filter-v93 .btn{width:100%}.kanban-check-v93{width:100%;justify-content:center}.kanban-meta-v93{grid-template-columns:1fr}}

/* v94 controlled Kanban workflow actions */
.kanban-actions-v94{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line,#e5e7eb)}
.kanban-actions-v94 form{display:inline-flex;margin:0}.kanban-actions-v94 .btn{border-radius:12px;white-space:nowrap}
.kanban-quick-v94{margin-top:10px;background:rgba(248,250,252,.9);border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:10px}
.kanban-quick-v94 summary{cursor:pointer;font-weight:800;color:var(--ink,#102a43);display:flex;gap:6px;align-items:center}
.kanban-quick-grid-v94{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.kanban-quick-grid-v94 label{font-size:12px;font-weight:800;color:var(--muted,#64748b)}
.kanban-quick-grid-v94 .form-control,.kanban-quick-grid-v94 .form-select{margin-top:4px;border-radius:11px}
@media(max-width:700px){.kanban-quick-grid-v94{grid-template-columns:1fr}}

/* v96 Kanban compact density fix: smaller board, tighter cards, no oversized Notion-style columns. */
.kanban-toolbar-v93{
  grid-template-columns:96px 96px 96px minmax(0,1fr)!important;
  gap:8px!important;
  margin-bottom:12px!important;
}
.kanban-stat-v93{
  border-radius:14px!important;
  padding:8px 10px!important;
  box-shadow:0 6px 16px rgba(15,23,42,.045)!important;
}
.kanban-stat-v93 span{font-size:10.5px!important;line-height:1.2!important}
.kanban-stat-v93 strong{font-size:20px!important;line-height:1.1!important}
.kanban-filter-v93{
  border-radius:14px!important;
  padding:7px!important;
  gap:6px!important;
  box-shadow:0 6px 16px rgba(15,23,42,.045)!important;
}
.kanban-filter-v93 .form-select{
  min-width:118px!important;
  max-width:155px!important;
  min-height:34px!important;
  padding-block:5px!important;
  font-size:12px!important;
  border-radius:10px!important;
}
.kanban-filter-v93 .btn{min-height:34px!important;padding:5px 10px!important;font-size:12px!important;border-radius:10px!important}
.kanban-check-v93{padding:6px 8px!important;border-radius:10px!important;font-size:12px!important}
.kanban-board-v93{
  grid-auto-columns:240px!important;
  gap:9px!important;
  min-height:calc(100vh - 225px)!important;
  padding-bottom:10px!important;
}
.kanban-column-v93{
  border-radius:16px!important;
  padding:8px!important;
  min-height:360px!important;
}
.kanban-column-head-v93{margin-bottom:7px!important}
.kanban-column-head-v93 strong{font-size:13px!important;line-height:1.35!important}
.kanban-column-head-v93 span{min-width:24px!important;height:24px!important;font-size:11px!important}
.kanban-card-list-v93{gap:7px!important}
.kanban-card-v93{
  border-radius:14px!important;
  padding:9px!important;
  box-shadow:0 6px 14px rgba(15,23,42,.045)!important;
}
.kanban-card-v93:hover{transform:none!important;box-shadow:0 8px 18px rgba(15,23,42,.08)!important}
.kanban-card-top-v93{gap:6px!important}
.kanban-card-top-v93 a{font-size:13px!important;line-height:1.35!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kanban-card-top-v93 small{font-size:10.5px!important}
.kanban-card-v93 p{
  display:none!important;
}
.kanban-badges-v93{gap:4px!important;margin:6px 0!important}
.kanban-pill-v93{font-size:10.5px!important;padding:3px 7px!important;gap:3px!important}
.kanban-meta-v93{
  grid-template-columns:1fr!important;
  gap:4px!important;
}
.kanban-meta-v93 div{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:5px!important;
  align-items:center!important;
  padding:5px 6px!important;
  border-radius:9px!important;
}
.kanban-meta-v93 dt{font-size:10px!important;line-height:1!important}
.kanban-meta-v93 dd{font-size:11.5px!important;margin:0!important;line-height:1.25!important}
.kanban-card-foot-v93{margin-top:6px!important;gap:4px!important;font-size:10.5px!important}
.kanban-card-foot-v93 span{padding:3px 6px!important}
.kanban-actions-v94{gap:4px!important;margin-top:7px!important;padding-top:7px!important}
.kanban-actions-v94 .btn{font-size:11px!important;padding:4px 7px!important;border-radius:9px!important;min-height:28px!important}
.kanban-quick-v94{margin-top:7px!important;border-radius:10px!important;padding:7px!important}
.kanban-quick-v94 summary{font-size:12px!important}
.kanban-quick-grid-v94{grid-template-columns:1fr!important;gap:5px!important;margin-top:7px!important}
.kanban-quick-grid-v94 label{font-size:11px!important}
.kanban-quick-grid-v94 .form-control,.kanban-quick-grid-v94 .form-select{min-height:32px!important;font-size:12px!important;border-radius:9px!important;margin-top:3px!important}
.kanban-empty-v93{border-radius:12px!important;padding:12px!important;font-size:12px!important}
@media(max-width:1200px){.kanban-toolbar-v93{grid-template-columns:repeat(3,96px) minmax(0,1fr)!important}.kanban-filter-v93{grid-column:auto!important}.kanban-board-v93{grid-auto-columns:232px!important}}
@media(max-width:900px){.kanban-toolbar-v93{grid-template-columns:repeat(3,1fr)!important}.kanban-filter-v93{grid-column:1/-1!important}.kanban-board-v93{grid-auto-columns:82vw!important}}
@media(max-width:700px){.kanban-toolbar-v93{grid-template-columns:1fr!important}.kanban-filter-v93 .form-select,.kanban-filter-v93 .btn{width:100%!important;max-width:none!important}.kanban-check-v93{width:100%!important;justify-content:center!important}}

/* v97 — Ultra compact kanban cards: keep only what is operational */
.kanban-board-v97{grid-auto-columns:218px!important;gap:8px!important;min-height:calc(100vh - 230px)!important;padding-bottom:10px!important;}
.kanban-column-v97{border-radius:14px!important;padding:8px!important;min-height:360px!important;background:#f8fafc!important;}
.kanban-column-head-v97{margin-bottom:6px!important;}
.kanban-column-head-v97 strong{font-size:12.5px!important;line-height:1.25!important;}
.kanban-column-head-v97 span{min-width:22px!important;height:22px!important;font-size:10.5px!important;}
.kanban-card-list-v97{gap:6px!important;}
.kanban-card-v97{border-radius:13px!important;padding:8px!important;box-shadow:0 5px 14px rgba(15,23,42,.045)!important;border-color:#e6edf5!important;}
.kanban-card-v97:hover{transform:none!important;box-shadow:0 7px 16px rgba(15,23,42,.075)!important;}
.kanban-card-head-v97{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;}
.kanban-card-head-v97 small{font-size:10px;color:#94a3b8;font-weight:900;}
.kanban-priority-dot-v97{width:9px;height:9px;border-radius:999px;background:var(--dot-color,#64748b);box-shadow:0 0 0 3px color-mix(in srgb,var(--dot-color,#64748b) 16%,transparent);}
.kanban-title-v97{display:block;text-decoration:none;color:#0f172a;font-size:13px!important;font-weight:950;line-height:1.35;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kanban-title-v97:hover{color:var(--teal,#1d5c63);}
.kanban-type-row-v97{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;}
.kanban-type-row-v97 span,.kanban-type-row-v97 em{display:inline-flex;align-items:center;max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;padding:2px 7px;font-size:10.5px;font-style:normal;font-weight:850;background:#eef6f7;color:#164e55;border:1px solid #dbecee;}
.kanban-type-row-v97 em{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.kanban-lines-v97{display:grid;gap:4px;margin-top:2px;}
.kanban-lines-v97 div{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:5px;background:#f8fafc;border:1px solid #edf2f7;border-radius:9px;padding:4px 6px;min-height:26px;}
.kanban-lines-v97 b{font-size:10.5px;color:#64748b;font-weight:900;line-height:1;}
.kanban-lines-v97 span{font-size:11.5px;color:#0f172a;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15;}
.kanban-actions-v97{margin-top:7px!important;padding-top:7px!important;border-top:1px solid #edf2f7!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;}
.kanban-actions-v97 .btn,.kanban-actions-v97 form,.kanban-actions-v97 button{width:100%!important;justify-content:center!important;}
.kanban-actions-v97 .btn{font-size:11.5px!important;min-height:28px!important;padding:4px 7px!important;border-radius:9px!important;}
.kanban-quick-v97{margin-top:6px!important;border-radius:10px!important;padding:6px!important;background:#fbfdff!important;}
.kanban-quick-v97 summary{font-size:11.5px!important;justify-content:center;}
.kanban-quick-grid-v97{grid-template-columns:1fr!important;gap:5px!important;margin-top:6px!important;}
.kanban-quick-grid-v97 label{font-size:10.5px!important;}
.kanban-quick-grid-v97 .form-control,.kanban-quick-grid-v97 .form-select{min-height:30px!important;font-size:11.5px!important;border-radius:8px!important;}
.kanban-toolbar-v97{margin-bottom:10px!important;}
@media(max-width:1200px){.kanban-board-v97{grid-auto-columns:212px!important;}}
@media(max-width:900px){.kanban-board-v97{grid-auto-columns:78vw!important;}}


/* v98 — Kanban horizontal scrollbars on top and bottom */
.kanban-xscroll-top-v98{
  display:block;
  overflow-x:auto;
  overflow-y:hidden;
  height:14px;
  margin:0 0 8px;
  border-radius:999px;
  background:rgba(226,232,240,.65);
  border:1px solid rgba(226,232,240,.9);
  scrollbar-width:thin;
  scrollbar-color:#94a3b8 #e2e8f0;
}
.kanban-xscroll-inner-v98{height:1px;}
.kanban-xscroll-top-v98::-webkit-scrollbar{height:10px;}
.kanban-xscroll-top-v98::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px;}
.kanban-xscroll-top-v98::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;}
.kanban-board-v98{scrollbar-width:thin;scrollbar-color:#94a3b8 #e2e8f0;}
.kanban-board-v98::-webkit-scrollbar{height:10px;}
.kanban-board-v98::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px;}
.kanban-board-v98::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;}
@media(max-width:900px){.kanban-xscroll-top-v98{height:12px;margin-bottom:7px;}}

/* v99: Kanban card density correction - tiny actions side by side, customer/assignee paired */
.kanban-card-v97{padding:7px!important;border-radius:12px!important;}
.kanban-card-head-v97{margin-bottom:1px!important;}
.kanban-title-v97{font-size:12.5px!important;line-height:1.25!important;margin-bottom:4px!important;}
.kanban-type-row-v97{margin-bottom:5px!important;gap:4px!important;}
.kanban-type-row-v97 span,.kanban-type-row-v97 em{font-size:10px!important;padding:2px 6px!important;}
.kanban-people-v99{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:3px;}
.kanban-people-v99>div{background:#f8fafc;border:1px solid #edf2f7;border-radius:8px;padding:4px 5px;min-width:0;}
.kanban-people-v99 b{display:block;font-size:10px;line-height:1;color:#64748b;font-weight:900;margin-bottom:3px;}
.kanban-people-v99 span{display:block;font-size:11.5px;line-height:1.15;color:#0f172a;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kanban-publish-v99{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:4px;padding:4px 6px;border-radius:8px;background:#fff;border:1px solid #edf2f7;}
.kanban-publish-v99 b{font-size:10px;color:#64748b;font-weight:900;}
.kanban-publish-v99 span{font-size:11.5px;color:#0f172a;font-weight:950;white-space:nowrap;}
.kanban-actions-v99{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;margin-top:6px!important;padding-top:6px!important;border-top:1px solid #edf2f7!important;align-items:start!important;}
.kanban-actions-v99>a.btn,.kanban-actions-v99 summary{min-height:24px!important;height:24px!important;padding:2px 6px!important;font-size:10.5px!important;line-height:1!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;width:100%!important;white-space:nowrap!important;}
.kanban-actions-v99 .bi{font-size:11px!important;}
.kanban-quick-v99{margin:0!important;padding:0!important;border:0!important;background:transparent!important;position:relative;}
.kanban-quick-v99 summary{list-style:none!important;background:#eef2f7!important;border:1px solid #dbe1ea!important;color:#102a43!important;cursor:pointer!important;font-weight:800!important;}
.kanban-quick-v99 summary::-webkit-details-marker{display:none!important;}
.kanban-quick-v99[open]{grid-column:1/-1!important;}
.kanban-quick-v99[open] summary{width:50%!important;margin-inline-start:auto!important;}
.kanban-quick-v99 form{margin-top:5px!important;border:1px solid #e5edf3!important;border-radius:10px!important;background:#fbfdff!important;padding:6px!important;}
.kanban-quick-grid-v99{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;}
.kanban-quick-grid-v99 label{font-size:10px!important;color:#64748b!important;font-weight:900!important;}
.kanban-quick-grid-v99 .form-control,.kanban-quick-grid-v99 .form-select{min-height:28px!important;height:28px!important;font-size:11px!important;border-radius:8px!important;padding:2px 6px!important;}
.kanban-secondary-actions-v99{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
.kanban-secondary-actions-v99:empty{display:none;}
.kanban-secondary-actions-v99 form{margin:0;display:inline-flex;}
.kanban-secondary-actions-v99 .btn{min-height:23px!important;padding:2px 6px!important;font-size:10px!important;border-radius:8px!important;line-height:1!important;}
@media(max-width:900px){.kanban-quick-grid-v99{grid-template-columns:1fr!important;}.kanban-actions-v99>a.btn,.kanban-actions-v99 summary{font-size:11px!important;}}


/* v100: Kanban top scrollbar real fix + keep existing color theme */
.kanban-xscroll-top-v98{
  display:block!important;
  overflow-x:scroll!important;
  overflow-y:hidden!important;
  width:100%!important;
  height:16px!important;
  min-height:16px!important;
  margin:0 0 8px!important;
}
.kanban-xscroll-inner-v98{height:1px!important;min-height:1px!important;}
/* Do not recolor the compact card fields; keep the card/theme colors clean. */
.kanban-people-v99>div{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;}
.kanban-publish-v99{background:transparent!important;border:0!important;border-radius:0!important;padding:2px 0!important;}
.kanban-actions-v99{border-top:1px solid rgba(226,232,240,.75)!important;}
.kanban-quick-v99 summary{background:transparent!important;}


/* v104 content workspace / Notion-like detail page */
.content-workspace-v104{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.workspace-main-v104{min-width:0}.workspace-side-v104{position:sticky;top:16px}.workspace-hero-v104{padding:18px}.workspace-id-v104{display:inline-flex;align-items:center;background:var(--sch-soft,#f8fafc);border:1px solid var(--sch-border,#e5edf4);border-radius:999px;padding:4px 9px;color:#64748b;font-size:12px;font-weight:900;margin-bottom:8px}.workspace-title-row-v104{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.workspace-title-row-v104 h2{font-size:28px;line-height:1.35;margin:4px 0 0;font-weight:900;color:#102a43}.workspace-eyebrow-v104{color:#64748b;font-size:12px;font-weight:800}.workspace-status-v104{flex:0 0 auto}.workspace-stepper-v104{margin-top:14px}.workspace-tabs-v104{position:sticky;top:0;z-index:4}.workspace-tabs-v104 .nav-link{display:flex;gap:6px;align-items:center}.workspace-section-v104 h3,.workspace-props-v104 h3{font-size:18px;font-weight:900;margin-bottom:12px}.workspace-section-head-v104{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.workspace-section-head-v104 span{font-size:11px;font-weight:900;color:#64748b;background:#f8fafc;border:1px solid #e5edf4;border-radius:999px;padding:4px 8px}.workspace-text-block-v104{border:1px solid #e8eef5;background:#fff;border-radius:18px;padding:14px;margin-bottom:12px}.workspace-text-block-v104 label{display:block;font-size:12px;font-weight:900;color:#64748b;margin-bottom:6px}.workspace-text-block-v104 div{line-height:1.9;color:#1e293b;white-space:pre-wrap}.workspace-files-grid-v104{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workspace-props-v104{padding:16px}.prop-row{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;align-items:start;padding:9px 0;border-bottom:1px solid #edf2f7}.prop-row:last-child{border-bottom:0}.prop-row span{font-size:12px;color:#64748b;font-weight:900}.prop-row b{font-size:13px;color:#0f172a;word-break:break-word}.workspace-side-actions-v104{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.workspace-comment-v104 p{white-space:pre-wrap}@media(max-width:1180px){.content-workspace-v104{grid-template-columns:1fr}.workspace-side-v104{position:static}.workspace-files-grid-v104{grid-template-columns:1fr}}@media(max-width:700px){.workspace-title-row-v104{display:block}.workspace-status-v104{margin-top:10px}.prop-row{grid-template-columns:1fr}.workspace-tabs-v104{position:static}.workspace-title-row-v104 h2{font-size:22px}}

/* v105 content calendar upgrade */
.sch-calendar-toolbar{background:var(--sch-card,#fff);border:1px solid var(--sch-border,#e6edf3);border-radius:18px;box-shadow:0 8px 26px rgba(15,45,70,.045);padding:12px;margin-bottom:12px;display:grid;gap:10px}.sch-calendar-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.sch-calendar-title strong{font-size:18px;font-weight:950;color:var(--sch-primary,#102a43)}.sch-calendar-title span{font-size:12px;color:#64748b;font-weight:800}.sch-calendar-filter{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr)) 72px 84px auto auto auto;gap:8px;align-items:center}.sch-calendar-filter .month-input{width:72px}.sch-calendar-filter .year-input{width:84px}.sch-check{display:inline-flex;align-items:center;gap:5px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:7px 9px;font-size:12px;font-weight:800;color:#334155;white-space:nowrap}.sch-content-calendar{background:#fff;border:1px solid var(--sch-border,#e6edf3);border-radius:18px;box-shadow:0 8px 26px rgba(15,45,70,.045);padding:12px;overflow:auto}.sch-cal-head,.sch-cal-week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;min-width:1100px}.sch-cal-head span{background:var(--sch-primary,#102a43);color:#fff;border-radius:12px;text-align:center;padding:8px;font-size:12px;font-weight:950}.sch-cal-week{margin-top:8px}.sch-cal-day{min-height:150px;background:#f8fbfd;border:1px solid #e7eef5;border-radius:14px;padding:8px;overflow:hidden}.sch-cal-day.muted{opacity:.35;background:#f1f5f9}.sch-cal-day.has-overdue{border-color:#ffd4a3;background:#fffaf2}.sch-cal-day-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.sch-cal-day-top b{color:var(--sch-primary,#102a43);font-weight:950}.sch-cal-day-top em{font-style:normal;background:#e8f3f4;color:#1D5C63;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900}.sch-day-flags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:5px}.sch-day-flags span{border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900}.sch-day-flags .urgent{background:#fff1cc;color:#8a5b00}.sch-day-flags .late{background:#ffe4e6;color:#9f1239}.sch-cal-item{background:#fff;border:1px solid #edf2f7;border-inline-start:4px solid var(--item-color,#1D5C63);border-radius:11px;padding:7px;margin-top:6px;box-shadow:0 4px 12px rgba(15,45,70,.035)}.sch-cal-item-title a{display:block;color:#102a43;text-decoration:none;font-weight:950;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sch-cal-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.sch-cal-meta span{background:#f8fafc;border:1px solid #edf2f7;border-radius:8px;padding:3px 5px;font-size:10.5px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sch-cal-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.sch-cal-tags span{background:#eef6f7;color:#1D5C63;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900}.sch-more-day{display:block;margin-top:6px;text-align:center;text-decoration:none;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:10px;padding:5px;font-size:11px;font-weight:900;color:#475569}@media(max-width:1100px){.sch-calendar-filter{grid-template-columns:repeat(2,1fr)}.sch-calendar-title{display:block}.sch-content-calendar{padding:8px}.sch-cal-head,.sch-cal-week{min-width:980px;grid-template-columns:repeat(7,140px)}}

/* v107 activity log timeline polish */
.workspace-log-v107{position:relative;padding:12px 12px 12px 14px;border:1px solid #e7eef5;border-radius:14px;background:#fff;margin-bottom:10px}
.workspace-log-head-v107{display:flex;align-items:flex-start;gap:10px}
.workspace-log-head-v107 i{width:28px;height:28px;border-radius:10px;background:#eef6f7;color:#0f5961;display:inline-grid;place-items:center;flex:0 0 28px}
.workspace-log-head-v107 strong{display:block;font-size:14px;color:#102a43}.workspace-log-head-v107 span{display:block;font-size:12px;color:#64748b;margin-top:2px}.workspace-log-v107 p{margin:8px 38px 0 0;color:#475569;font-size:13px}.workspace-log-diff-v107{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.workspace-log-diff-v107 pre,.audit-diff pre{white-space:pre-wrap;direction:ltr;text-align:left;background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;padding:10px;font-size:12px;max-height:220px;overflow:auto}.audit-card-v107{border-radius:16px}.audit-head-v107{display:flex;align-items:flex-start;gap:10px}.audit-icon-v107{width:34px;height:34px;border-radius:12px;background:#eef6f7;color:#0f5961;display:inline-grid;place-items:center;flex:0 0 34px}.severity-warning .audit-icon-v107,.severity-warning .workspace-log-head-v107 i{background:#fff7df;color:#9a6700}.severity-danger .audit-icon-v107,.severity-danger .workspace-log-head-v107 i,.severity-critical .audit-icon-v107,.severity-critical .workspace-log-head-v107 i{background:#fff1f2;color:#be123c}.severity-info .audit-icon-v107,.severity-info .workspace-log-head-v107 i{background:#eef6f7;color:#0f5961}@media(max-width:700px){.workspace-log-diff-v107{grid-template-columns:1fr}.workspace-log-v107 p{margin-right:0}}

/* v110 settings hub: keep sidebar clean; move admin sub-tools into one governed page */
.settings-hub-v110{display:grid;gap:16px}.settings-hub-hero-v110{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,247,248,.96))}.settings-hub-hero-v110 h2{font-weight:900;margin:4px 0 6px;color:var(--ink)}.settings-hub-hero-v110 p{margin:0;color:var(--muted);max-width:760px}.settings-hub-note-v110{display:flex;align-items:center;gap:10px;background:rgba(15,95,107,.08);border:1px solid rgba(15,95,107,.14);color:var(--brand);border-radius:16px;padding:12px 14px;font-weight:800;white-space:nowrap}.settings-hub-grid-v110{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-card-v110{position:relative;display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-height:128px;transition:.18s ease}.settings-card-v110:hover{transform:translateY(-2px);color:var(--ink);border-color:color-mix(in srgb,var(--brand) 35%,var(--border));box-shadow:0 18px 38px rgba(16,42,67,.1)}.settings-icon-v110{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(15,95,107,.1);color:var(--brand);font-size:22px;flex:0 0 auto}.settings-card-v110 h3{font-size:17px;font-weight:900;margin:0 0 7px}.settings-card-v110 p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.settings-arrow-v110{position:absolute;left:14px;bottom:12px;color:var(--muted);font-size:22px}.settings-card-v110.tone-accent .settings-icon-v110{background:rgba(214,168,79,.14);color:var(--accent)}.settings-card-v110.tone-warning .settings-icon-v110{background:rgba(214,168,79,.16);color:#9a6b00}.settings-card-v110.tone-danger .settings-icon-v110{background:rgba(217,74,90,.12);color:var(--danger)}.settings-card-v110.tone-info .settings-icon-v110{background:rgba(40,121,151,.1);color:#287997}.settings-card-v110.tone-muted .settings-icon-v110{background:rgba(100,116,139,.12);color:#64748b}@media(max-width:1100px){.settings-hub-grid-v110{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-hub-hero-v110{align-items:flex-start;flex-direction:column}.settings-hub-note-v110{white-space:normal}}@media(max-width:700px){.settings-hub-grid-v110{grid-template-columns:1fr}.settings-card-v110{min-height:auto}}

/* v113: one page-level translation toolbar for bilingual forms */
.page-translation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent,#0f766e) 22%,var(--border,#dbe5ea));background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#0f766e) 7%,#fff),#fff);border-radius:18px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.page-translation-info{display:flex;align-items:center;gap:10px;color:var(--primary,#0b3d4a)}
.page-translation-info>i{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent,#0f766e) 12%,#fff);color:var(--accent,#0f766e)}
.page-translation-info strong{display:block;font-weight:900;font-size:14px}
.page-translation-info small{display:block;color:var(--muted,#64748b);font-size:12px;margin-top:2px}
.btn-translate-page{border:1px solid color-mix(in srgb,var(--accent,#0f766e) 28%,var(--border,#dbe5ea));background:var(--accent,#0f766e);color:#fff;border-radius:999px;padding:8px 14px;font-size:.86rem;font-weight:900;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:.15s ease;box-shadow:0 8px 18px rgba(15,118,110,.16)}
.btn-translate-page:hover{filter:brightness(1.04);transform:translateY(-1px)}
.btn-translate-page[disabled],.btn-translate-page.is-translating{opacity:.72;cursor:wait;transform:none}
@media(max-width:700px){.page-translation-toolbar{align-items:stretch;flex-direction:column}.btn-translate-page{justify-content:center;width:100%}}

/* v117 — Four-stage Kanban with compact progress dots */
.kanban-toolbar-v117{grid-template-columns:110px 110px 110px minmax(0,1fr)!important;}
.kanban-legend-v117{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:8px 10px;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.kanban-legend-v117 span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #edf2f7;border-radius:999px;padding:4px 8px}
.kanban-legend-v117 i{width:9px;height:9px;border-radius:999px;background:var(--step-color);display:inline-block;box-shadow:0 0 0 2px color-mix(in srgb,var(--step-color) 18%,#fff)}
.kanban-board-v117{grid-auto-columns:minmax(250px,1fr)!important;grid-template-columns:repeat(4,minmax(250px,1fr))!important;grid-auto-flow:initial!important;overflow-x:auto!important;gap:10px!important;min-height:calc(100vh - 245px)!important;}
.kanban-column-v117{min-height:420px!important;padding:10px!important;border-radius:16px!important;}
.kanban-column-head-v117{align-items:flex-start!important;margin-bottom:8px!important;}
.kanban-column-head-v117 div{display:grid;gap:2px;min-width:0}
.kanban-column-head-v117 strong{font-size:15px!important;line-height:1.2!important;color:#0f172a!important}
.kanban-column-head-v117 small{font-size:10.5px!important;color:#64748b!important;line-height:1.3!important;white-space:normal!important}
.kanban-card-v117{padding:9px!important;border-radius:14px!important;box-shadow:0 6px 14px rgba(15,23,42,.055)!important;}
.kanban-stage-strip-v117{display:grid;grid-template-columns:repeat(8,12px) minmax(0,1fr);align-items:center;gap:4px;margin:7px 0 6px;padding:6px;border-radius:10px;background:#f8fafc;border:1px solid #edf2f7;}
.kanban-stage-strip-v117 i{width:9px;height:9px;border-radius:999px;background:#cbd5e1;display:block;opacity:.75;}
.kanban-stage-strip-v117 i.done{background:var(--step-color);opacity:.38;}
.kanban-stage-strip-v117 i.active{background:var(--step-color);width:12px;height:12px;opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--step-color) 18%,#fff);}
.kanban-stage-strip-v117 b{font-size:10.5px;line-height:1.25;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900;}
.kanban-actions-v117{display:grid!important;grid-template-columns:auto auto!important;justify-content:start!important;align-items:start!important;}
@media(max-width:1200px){.kanban-toolbar-v117{grid-template-columns:repeat(3,1fr)!important}.kanban-filter-v93{grid-column:1/-1!important}.kanban-board-v117{grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:250px!important}}
@media(max-width:700px){.kanban-toolbar-v117{grid-template-columns:1fr!important}.kanban-board-v117{grid-auto-columns:84vw!important}.kanban-legend-v117{max-height:90px;overflow:auto}.kanban-stage-strip-v117{grid-template-columns:repeat(8,10px) minmax(0,1fr);gap:3px}.kanban-stage-strip-v117 b{font-size:10px}}
