:root{--bg:#f5f7fa;--surface:#fff;--ink:#14293d;--muted:#657689;--line:#e6ebf0;--nav:#102d3e;--nav-soft:#1c3d4e;--brand:#087c70;--brand-soft:#e8f5f0;--mint:#b9f1d4;--blue:#557fbb;--red:#b8414d;--amber:#93630e;--shadow:0 8px 32px #16334b09;--radius:18px;font-family:Tahoma,"Segoe UI",Arial,sans-serif;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--brand)}button:focus-visible,a:focus-visible{outline:3px solid #b5851e;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #148a7890;border-color:var(--brand)}button svg{pointer-events:none}svg{vertical-align:middle}.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.small{font-size:12px}.muted{color:var(--muted)}.ltr{direction:ltr;unicode-bidi:embed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.boot{padding:100px;text-align:center}.shell{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--nav);color:#d5e0e6;flex:0 0 240px;padding:27px 18px 20px;position:fixed;inset-inline-start:0;top:0;bottom:0;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:13px;margin:0 13px 34px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--mint);color:#113829;font-size:27px;font-weight:800;line-height:1;font-family:Arial,sans-serif}.brand strong{font-size:23px;color:#fff;letter-spacing:-.7px;display:block;line-height:1.35}.brand small{color:#9bb8c6;font-size:10px;letter-spacing:2px}.workspace-label{margin:0 14px 14px;color:#86a7b8;font-size:11px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;align-items:center;gap:12px;background:none;color:#b8cbd5;border:0;padding:12px 15px;text-align:start;border-radius:10px;font-size:13px;min-height:47px;transition:.15s}.nav button:hover{background:#1b3b4d;color:#fff}.nav button.active{background:var(--mint);color:#12382e;font-weight:700}.nav .count{margin-inline-start:auto;font-size:11px;padding:0 7px;border-radius:5px;background:#ffffff12}.nav button.active .count{background:#ffffff66}.nav-divider{border-top:1px solid #ffffff12;margin:20px 10px}.sidebar-note{margin-top:auto;padding:18px 12px;color:#99b3c0;font-size:11px;line-height:1.9;border-bottom:1px solid #ffffff16}.sidebar-note b{color:#cfdee5;display:block;font-weight:400}.profile{display:flex;gap:10px;align-items:center;padding:18px 7px 0}.profile strong{font-size:12px;color:#f0f5f7;display:block}.profile small{font-size:10px;color:#91aeba}.profile button{margin-inline-start:auto;background:none;border:0;color:#a7c0cd;padding:8px}.avatar{height:36px;width:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e7eeef;color:#3b6267;font-size:12px;font-weight:700;flex-shrink:0}.avatar.accent{background:#d9ece4;color:#1c6e53}.avatar.blue{background:#e6edf7;color:#526ea3}.avatar.purple{background:#eee9f5;color:#79649a}.main{margin-inline-start:240px;width:calc(100% - 240px)}.topbar{height:83px;padding:0 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#ffffffeb;gap:16px}.crumb{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.crumb b{color:var(--ink);font-weight:500}.top-tools{display:flex;align-items:center;gap:16px}.status-dot{width:7px;height:7px;background:#398e70;border-radius:50%;display:inline-block;margin-inline-end:6px}.quiet-label{font-size:11px;color:var(--muted)}.icon-btn{height:37px;min-width:37px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.date-label{font-size:11px;color:var(--muted)}.content{padding:26px 36px 36px;max-width:1660px;margin:auto}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#edf3f7;border:1px solid #dde6ef;border-radius:10px;padding:8px 13px;margin-bottom:24px;color:#496479;font-size:11px}.demo-banner select{font-size:11px;padding:5px 8px;border:1px solid #cedbe3;background:#fff;border-radius:7px;max-width:220px;color:#344f62}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:18px}.eyebrow{font-size:11px;color:var(--brand);margin-bottom:4px}.page-head h1{font-size:25px;letter-spacing:-.8px;margin:0 0 5px;font-weight:700}.page-head p{margin:0;font-size:12px;color:var(--muted)}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;text-decoration:none;font-size:12px;white-space:nowrap}.btn:hover{background:#f4f7f8}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:#06685e}.btn.mint{background:var(--mint);color:#173e32;border-color:var(--mint)}.btn.danger{background:#fceff0;border-color:#f6dce0;color:var(--red)}.btn.sm{font-size:11px;padding:6px 11px;min-height:33px}.btn.text{border:0;padding:0;background:transparent;color:var(--brand);min-height:26px}.btn-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hero{background:#eaf3ee;border:1px solid #dbe9e1;border-radius:var(--radius);padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:23px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:210px;height:210px;border:1px solid #d3e5da;border-radius:50%;inset-inline-end:245px;top:-130px;pointer-events:none}.hero-label{display:inline-flex;align-items:center;gap:7px;color:#517761;font-size:10px;letter-spacing:.3px}.hero h2{font-size:20px;font-weight:500;margin:5px 0 6px;letter-spacing:-.6px}.hero p{font-size:11px;color:#617c6d;margin:0}.hero-aside{display:flex;gap:18px;align-items:center;z-index:1;flex-shrink:0}.hero-num strong{font-size:30px;display:block;line-height:1.25;font-family:"Segoe UI",Arial,sans-serif;font-weight:600;color:#20503c}.hero-num small{font-size:10px;color:#6d8678}.hero-aside .sep{height:39px;border-inline-start:1px solid #cddfd4}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 20px;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.stat-icon{width:34px;height:34px;border-radius:10px;background:#edf4f7;display:grid;place-items:center;color:#537e97}.stat-icon.green{background:#edf6ee;color:#5d8c68}.stat-icon.amber{background:#fcf4e5;color:#a98432}.stat-icon.red{background:#f9eeee;color:#b3656b}.stat-value{font-size:31px;font-weight:600;line-height:1.3;margin:5px 0;font-family:"Segoe UI",Arial,sans-serif;letter-spacing:-1px}.stat-foot{font-size:10px;color:var(--muted)}.grid-main{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;margin-bottom:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:20px 23px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.card-head h2{font-size:14px;font-weight:600;margin:0 0 3px}.card-head p{font-size:10px;color:var(--muted);margin:0}.chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;line-height:1.6;border:1px solid var(--line);border-radius:6px;padding:4px 9px;white-space:nowrap;color:var(--muted)}.legend{display:flex;gap:14px;align-items:center;font-size:10px;color:var(--muted);margin-top:12px}.legend span:before{content:"";display:inline-block;width:7px;height:7px;background:var(--brand);border-radius:2px;margin-inline-end:6px}.legend span:nth-child(2):before{background:#cfdfd8}.chart{height:165px;display:flex;align-items:stretch;gap:9px;direction:ltr;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f1f4f6 40px);padding-top:12px}.bar-col{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:5px;position:relative;padding-bottom:25px}.bar-col .bar{width:20%;max-width:19px;min-width:6px;background:var(--brand);border-radius:5px 5px 0 0;position:relative;min-height:2px}.bar-col .bar.soft{background:#d4e3db}.bar-col small{font-size:9px;color:var(--muted);position:absolute;bottom:1px;inset-inline:0;text-align:center}.workload-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;margin:17px 0}.workload-row .avatar{height:31px;width:31px;font-size:10px}.workload-row strong{display:block;font-size:11px;font-weight:400;margin-bottom:5px}.workload-row small{font-size:10px;color:var(--muted)}.progress{height:5px;border-radius:5px;background:#edf1f4;overflow:hidden;direction:rtl}.progress span{display:block;height:100%;background:#549283;border-radius:5px}.progress.blue span{background:#809ab8}.card .table-head{padding:19px 23px 8px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:start;font-size:11px;white-space:nowrap}th{font-size:10px;font-weight:400;background:#f8fafb;color:var(--muted);padding:12px 20px;text-align:start;border-block:1px solid var(--line)}td{padding:15px 20px;border-bottom:1px solid #edf1f4;color:#3c5164}tr:last-child td{border-bottom:0}.task-title{border:0;background:none;text-align:start;color:var(--ink);font-size:11px;padding:0;display:block;white-space:normal;max-width:330px;min-width:165px;line-height:1.7}.task-title:hover{color:var(--brand)}.task-code{font-size:9px;color:#8a98a5;margin-top:3px;font-family:"Segoe UI",Arial,sans-serif;direction:ltr;text-align:right}.person-inline{display:flex;gap:7px;align-items:center}.person-inline .avatar{width:25px;height:25px;font-size:9px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:3px 8px;font-size:9px;line-height:1.7;white-space:nowrap;background:#f0f3f7;color:#52657b}.badge:before{content:"";width:4px;height:4px;display:inline-block;background:currentColor;border-radius:50%}.badge.active{background:#edf2fa;color:#4a70a7}.badge.review{background:#fff4df;color:#936410}.badge.done{background:#eaf5ef;color:#3b8060}.badge.blocked{background:#fbeced;color:#a4535c}.priority{display:inline-flex;gap:5px;align-items:center;font-size:9px;color:#7f8d9c}.priority.high,.priority.urgent{color:#b26950}.late{color:#b65358}.table-footer{padding:13px 23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.searchbox{position:relative;flex:1;max-width:370px}.searchbox input{padding-inline-start:38px;width:100%}.searchbox .icon{position:absolute;top:12px;inset-inline-start:12px;color:#8593a0;width:17px;height:17px}input,select,textarea{background:#fff;border:1px solid #dce4ea;border-radius:8px;padding:9px 11px;color:var(--ink);font-size:12px;min-height:40px}textarea{resize:vertical;line-height:1.8;min-height:100px}input[type=checkbox]{min-height:0;accent-color:var(--brand);width:16px;height:16px}input[type=number]{max-width:100%;direction:ltr}input[type=time],input[type=date],input[type=datetime-local],input[type=email]{direction:ltr;text-align:start}.empty{padding:38px 22px;text-align:center;color:var(--muted);font-size:12px}.empty .icon{width:33px;height:33px;color:#87a399;display:block;margin:0 auto 10px}.page-foot{display:flex;justify-content:space-between;gap:16px;color:#91a0ad;font-size:9px;margin-top:26px}.client-grid,.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.client-card,.member-card{padding:21px}.client-card h3,.member-card h3{font-size:14px;font-weight:500;margin:0 0 4px}.client-card .company-icon{width:43px;height:43px;background:#eff4f5;border-radius:12px;display:grid;place-items:center;color:#477779;margin-bottom:18px}.client-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:20px;font-size:11px}.member-card .avatar{width:46px;height:46px;font-size:16px;margin-bottom:13px}.member-card .meta-line{display:flex;justify-content:space-between;font-size:10px;margin:8px 0;color:var(--muted)}.member-card .btn{margin-top:12px}.notice{border:1px solid #dde7ed;background:#eff5f8;color:#567083;padding:12px 16px;border-radius:11px;font-size:11px;margin-bottom:20px;line-height:1.9}.notice.warning{background:#fff9ed;border-color:#f0e5c9;color:#856a32}.schedule{display:flex;justify-content:space-between;align-items:center;padding:25px;margin-bottom:20px;gap:20px}.schedule-time{font-size:24px;letter-spacing:1px;direction:ltr;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif}.kpi-summary{display:grid;grid-template-columns:1fr 2fr;gap:20px;margin-bottom:21px}.score-card{padding:25px;text-align:center}.score-circle{width:137px;height:137px;border-radius:50%;border:9px solid #e4efe9;display:flex;align-items:center;justify-content:center;margin:12px auto;position:relative;background:radial-gradient(circle,#fff 60%,#edf5f0)}.score-circle strong{font-size:35px;font-family:"Segoe UI",Arial,sans-serif;font-weight:600}.score-circle small{position:absolute;bottom:24px;color:var(--muted);font-size:10px}.kpi-lines{padding:25px}.kpi-line{margin-bottom:17px}.kpi-line:last-child{margin:0}.kpi-line header{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.kpi-formulas{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formula{padding:18px}.formula h3{font-size:12px;margin:0 0 8px}.formula p{font-size:11px;color:var(--muted);margin:0}.audit-item{display:flex;gap:13px;padding:18px 23px;border-bottom:1px solid var(--line)}.audit-item:last-child{border:0}.audit-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#edf4f1;color:#547c6b;flex-shrink:0}.audit-item p{font-size:11px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.audit-item small{font-size:10px;color:var(--muted)}.audit-item time{margin-inline-start:auto;color:var(--muted);font-size:10px;flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.field>span{font-size:11px;color:#526a7b}.field.full{grid-column:1/-1}.checkboxes{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px;border:1px solid var(--line);border-radius:9px}.checkboxes label{display:flex;align-items:center;gap:6px;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}dialog{border:0;border-radius:19px;padding:0;width:min(660px,calc(100vw - 28px));max-height:88vh;color:var(--ink);box-shadow:0 22px 100px #132c4638}dialog::backdrop{background:#122a3c77;backdrop-filter:blur(3px)}.modal-head{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:1}.modal-head h2{font-size:16px;margin:0}.modal-body{padding:23px 25px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.detail-grid small{font-size:10px;display:block;color:var(--muted)}.detail-grid strong{font-size:12px;font-weight:500}.detail-description{font-size:12px;white-space:pre-wrap;padding:16px;background:#f6f8fa;border-radius:10px;overflow-wrap:anywhere}.detail-note{font-size:11px;border-right:3px solid #b8d6c7;padding:9px 13px;margin:13px 0;background:#f2f7f4;white-space:pre-wrap;overflow-wrap:anywhere}.detail-note.amber{border-color:#d9b56c;background:#fdf7eb}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;border-radius:12px;padding:13px 22px;background:var(--nav);color:#fff;font-size:12px;z-index:200;max-width:min(590px,90vw);transition:.2s;box-shadow:0 5px 40px #0002}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#893c46}.mobile-menu{display:none}.backdrop{display:none}.settings-form{max-width:760px}.settings-form .card-pad{padding:24px}.report-placeholder{padding:35px;text-align:center}.brand-copy{font-size:10px;color:var(--muted)}.login-note{max-width:580px;margin:80px auto;padding:35px;background:white;border:1px solid var(--line);border-radius:18px;text-align:center}
@media(min-width:1600px){.sidebar{width:265px;flex-basis:265px}.main{margin-inline-start:265px;width:calc(100% - 265px)}.content{padding-inline:45px}.topbar{padding-inline:45px}}
@media(max-width:1180px){.sidebar{width:218px;flex-basis:218px;padding-inline:13px}.main{margin-inline-start:218px;width:calc(100% - 218px)}.content{padding:24px}.topbar{padding-inline:24px}.grid-main{grid-template-columns:1.2fr 1fr}.stat{padding:15px}.stats{gap:12px}.hero{padding:20px}.hero h2{font-size:18px}.hero-aside{gap:13px}.date-label{display:none}.client-grid,.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(100%);transition:transform .2s;width:240px}.sidebar.open{transform:none}.main{margin:0;width:100%}.mobile-menu{display:inline-flex}.backdrop.open{display:block;position:fixed;inset:0;z-index:35;background:#15293888}.topbar{height:65px;padding-inline:20px}.top-tools{gap:10px}.quiet-label{display:none}.content{padding:22px}.page-head h1{font-size:23px}.stats{grid-template-columns:repeat(4,1fr)}.stat-value{font-size:29px}.stat-icon{width:29px;height:29px}.stat-top{font-size:10px}.hero-aside .hero-num{display:none}}
@media(max-width:600px){.content{padding:17px 14px 24px}.topbar{padding-inline:14px}.demo-banner{flex-direction:column;align-items:stretch;gap:7px;padding:9px 12px;margin-bottom:19px}.demo-banner select{max-width:none;width:100%}.demo-banner span{font-size:10px}.page-head{align-items:flex-start;gap:9px;margin-bottom:18px}.page-head h1{font-size:21px;line-height:1.65}.page-head p{font-size:10px;max-width:235px}.page-head>.btn-row .btn{padding:8px 10px;font-size:10px}.page-head>.btn-row .btn.export{display:none}.eyebrow{font-size:10px}.hero{padding:17px;gap:14px;align-items:flex-start;flex-direction:column;margin-bottom:16px}.hero h2{font-size:18px}.hero p{font-size:10px}.hero-aside{align-self:stretch;justify-content:space-between}.hero-aside .sep{display:none}.hero-aside .hero-num{display:block}.hero-num strong{font-size:24px}.hero-num small{font-size:9px}.hero .btn{font-size:11px}.stats{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:17px}.stat{padding:13px 14px;border-radius:12px}.stat-value{font-size:30px}.stat-top{font-size:10px}.stat-foot{font-size:9px}.grid-main{grid-template-columns:1fr;gap:16px;margin-bottom:17px}.card-pad{padding:18px}.card-head{margin-bottom:14px}.card-head h2{font-size:13px}.card .table-head{padding:17px 17px 6px}.chart{height:150px}.workload-row{margin:15px 0}.table-footer{padding:12px 15px}.page-foot{flex-direction:column;gap:3px;margin-top:20px}.team-grid,.client-grid{grid-template-columns:1fr}.kpi-summary{grid-template-columns:1fr}.kpi-formulas{grid-template-columns:1fr}.schedule{flex-direction:column;align-items:stretch;padding:20px;gap:15px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-body{padding:20px 17px}.modal-head{padding:18px}.detail-grid{grid-template-columns:1fr 1fr}.toolbar>select{max-width:160px}.searchbox{max-width:none;min-width:170px}.audit-item{padding:16px 15px}.audit-item time{font-size:9px}.crumb{font-size:10px;gap:6px}.chip{font-size:9px}.score-circle{margin-block:15px}.stat-icon .icon{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.demo-banner,.btn,.toolbar,.page-foot{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{box-shadow:none;break-inside:avoid}body{background:#fff}.grid-main{display:block}.card{margin-bottom:15px}table{white-space:normal;font-size:9px}}
/* Contain the off-canvas navigation without clipping the independently scrollable data tables. */
body{overflow-x:hidden}.main,.content,.grid-main>*,.card{min-width:0}
@media(max-width:900px){.sidebar:not(.open){visibility:hidden}.sidebar.open{visibility:visible}.sidebar{overflow-y:auto}}
@media(max-width:900px){.sidebar:not(.open){display:none}.sidebar.open{display:flex;transform:none}}
.table-wrap{position:relative}.sr-only{inset-inline-start:0;top:0}
