@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#182c30;--muted:#78858a;--line:#e5ebea;--green:#176b55;--bg:#f5f7f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,.button{cursor:pointer;border:0;border-radius:8px;padding:12px 18px;background:var(--green);color:white;font-weight:600;display:inline-flex;align-items:center;gap:8px}.button.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.danger{background:#fff0ef;color:#b73535}aside{position:fixed;inset:0 auto 0 0;width:242px;background:#fff;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;z-index:20}.brand{font:800 25px Manrope,sans-serif;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand-mark{background:var(--green);color:white;border-radius:10px;padding:6px 10px;font-size:23px}.brand span:last-child{color:var(--green)}.workspace{font-size:11px;letter-spacing:1.8px;color:var(--muted);margin:45px 12px 15px}nav a{display:block;padding:14px 15px;border-radius:8px;margin:5px 0;color:#68777a;font-weight:600}nav a.active{background:#eaf4ef;color:var(--green)}nav a i{font-style:normal;display:inline-block;width:28px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:12px}.sidebar-bottom strong{display:block;color:var(--ink);margin-bottom:8px}main{margin-left:242px}header{height:85px;background:white;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb strong{color:var(--ink)}.profile{display:flex;gap:12px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e8eee8;color:var(--green);font-weight:700}.profile small{display:block;color:var(--muted);font-size:11px}.logout{background:none;color:var(--muted);padding:8px}.content{padding:36px 42px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{font:800 29px Manrope,sans-serif;letter-spacing:-1px;margin:0 0 9px}h2{font:700 17px Manrope,sans-serif;margin:0}h3{font:700 14px Manrope,sans-serif}.subtitle{color:var(--muted);margin:0;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:23px}.stat-top{display:flex;justify-content:space-between;color:#68777a;font-size:13px}.stat-icon{color:var(--green);background:#edf5f0;border-radius:8px;padding:7px 10px}.stat strong{display:block;font:800 33px Manrope;margin:8px 0}.stat small{font-size:11px;color:var(--muted)}.stat small.emphasis{color:var(--green)}.grid-two{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;margin-bottom:24px}.card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-body{padding:25px}.card-heading{padding:22px 25px;display:flex;justify-content:space-between;align-items:center;gap:12px}.card-heading a{font-size:12px;color:var(--green);font-weight:700}.chart{height:178px;display:flex;align-items:end;justify-content:space-around;gap:16px;padding:10px 25px 25px;border-bottom:1px solid var(--line);margin:0 25px 35px}.bar-group{flex:1;height:100%;display:flex;align-items:end;justify-content:center;position:relative}.bar{width:30px;min-height:3px;background:#28816a;border-radius:5px 5px 0 0}.bar-group span{position:absolute;bottom:-23px;font-size:11px;color:var(--muted)}.bar-group b{position:absolute;font-size:11px;bottom:calc(var(--height) + 5px);color:var(--green)}.distribution{display:flex;align-items:center;gap:28px;padding:20px 25px 32px}.donut{width:145px;height:145px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.donut-center{width:110px;height:110px;background:white;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-center strong{font:800 29px Manrope}.donut-center small{font-size:11px;color:var(--muted)}.legend{flex:1}.legend div{display:flex;align-items:center;gap:8px;margin:16px 0;font-size:12px}.legend b{margin-left:auto}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.filters{display:flex;gap:12px;flex-wrap:wrap;padding:0 25px 22px}.filters input{flex:1;min-width:180px}.filters select{width:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#7c878a;background:#fafbfb;font-size:10px;letter-spacing:.6px;text-transform:uppercase;font-weight:600}td,th{padding:16px 24px;border-bottom:1px solid #eef1f1}td{font-size:12px}td strong{display:block;font-size:13px;font-weight:600;margin-bottom:5px}td small{color:var(--muted)}.ref{color:var(--green);font-weight:600}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:10px;font-weight:700;background:#fff4df;color:#9c7229}.badge.closed{background:#e8f5ed;color:#24754e}.badge.in-progress{background:#eaf0ff;color:#526fb2}.badge.critical,.badge.high{background:#ffedeb;color:#b54d45}.badge.low{background:#edf4f5;color:#577e80}.empty{text-align:center;padding:50px 20px;color:var(--muted);line-height:1.9}.empty strong{color:var(--ink);font-size:16px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:18px 25px;font-size:12px;color:var(--muted)}.pagination a{padding:7px 12px;border:1px solid var(--line);border-radius:5px;margin-left:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.full{grid-column:1/-1}label{display:block;font-weight:600;font-size:12px;margin-bottom:8px}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #dce4e3;border-radius:7px;background:white;color:var(--ink)}textarea{resize:vertical;min-height:115px}.help{font-size:12px;color:var(--muted);line-height:1.6}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}.alert{padding:14px 18px;border-radius:8px;background:#e7f4ed;color:#206646;margin-bottom:20px}.alert.error{background:#fff0ee;color:#ac3c35}.photos{display:flex;gap:12px;flex-wrap:wrap}.photos img{width:150px;height:120px;object-fit:cover;border-radius:8px}.upload{border:2px dashed #d9e5df;border-radius:10px;padding:24px;background:#fbfdfb}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:25px}.details small{display:block;color:var(--muted);margin-bottom:8px}.prose{white-space:pre-wrap;line-height:1.8}.timeline{border-left:2px solid #dfeae4;padding-left:22px}.timeline p{line-height:1.6}.timeline small{color:var(--muted)}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:#153f36;color:#fff;padding:10vh 10%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-art h1{font-size:48px;line-height:1.15;max-width:470px;margin:55px 0 25px}.auth-art p{color:#aac6bc;font-size:16px;line-height:1.8;max-width:400px}.auth-art .brand span:last-child{color:#a8dbbf}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px}.auth-form{width:100%;max-width:390px}.auth-form label{margin-top:22px}.auth-form button{width:100%;justify-content:center;margin-top:25px}.auth-form h1{margin-bottom:12px}.footer{text-align:center;color:#99a3a4;font-size:11px;padding:30px}#menu-toggle{display:none}.overdue{color:#ba5748}.split-actions{display:flex;gap:10px;align-items:center}@media(min-width:1400px){.content{padding-top:42px}}@media(max-width:1100px){.content{padding:25px}.grid-two{grid-template-columns:1fr}.stats{gap:12px}.stat{padding:18px}.distribution{justify-content:center}.legend{max-width:260px}}@media(max-width:760px){aside{transform:translateX(-100%)}.menu-open aside{transform:translateX(0);box-shadow:20px 0 80px #0003}main{margin-left:0}header{height:70px;padding:0 18px}#menu-toggle{display:inline-flex;padding:8px}.content{padding:24px 16px}.stats{grid-template-columns:1fr 1fr}.page-heading{align-items:flex-start;flex-direction:column}h1{font-size:25px}.form-grid{grid-template-columns:1fr}.details{grid-template-columns:1fr 1fr}.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{min-height:100vh;padding:25px}.profile small{display:none}.filters{padding:0 16px 18px}.filters select{flex:1}.card-heading{padding:20px 16px}.split-actions{flex-wrap:wrap}.distribution{gap:20px}.breadcrumb{display:none}}@media print{aside,header,.filters,.button,button,.pagination,.footer{display:none!important}main{margin:0}.content{padding:0}.card{border:0}body{background:white}.table-wrap{overflow:visible}td,th{padding:10px}}

.photo-options{display:flex;flex-wrap:wrap;gap:16px 30px}.photo-picker{position:relative;overflow:hidden;margin-bottom:0}.photo-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-picker:focus-within{outline:2px solid var(--green);outline-offset:3px}#photo-preview{margin-top:12px}

/* QDC brand theme */
:root{--ink:#232744;--muted:#69738b;--line:#e1e5f1;--green:#373586;--bg:#f4f6fc;--qdc-blue:#373586;--qdc-light:#edf0fc}
.brand{gap:8px;font-size:23px;letter-spacing:-.8px}.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:4px;flex-shrink:0}.brand span:last-child{color:#5559a7}
aside{background:linear-gradient(180deg,#fff 65%,#f2f3fc)}nav a{color:#656c89}nav a.active{background:#ececfa;color:#373586;box-shadow:inset 3px 0 #373586}nav a:hover{background:#f0f1fb;color:#373586}
header{border-top:3px solid #373586}.avatar{background:#ececfa;color:#373586}.breadcrumb strong{color:#373586}
button,.button{transition:background .18s,box-shadow .18s}button:hover,.button:hover{background:#292765;box-shadow:0 4px 12px #37358620}.button.secondary:hover{background:#f0f1fb;color:#373586}.logout:hover{background:#eef0f9;color:#373586}.danger:hover{background:#ffe1df;color:#a72d2d}
.stat,.card{box-shadow:0 4px 20px #28285404}.stat{border-top:3px solid #d9ddf4}.stat-icon{color:#373586;background:#eeedfb}.stat strong{color:#30346a}.bar{background:linear-gradient(0deg,#373586,#7889cb)}.chart{border-color:#e1e5f1}
input:focus,select:focus,textarea:focus{border-color:#777bc1;outline:2px solid #3735861c}th{background:#f6f7fd;color:#68718a}.upload{background:#f8f9ff;border-color:#cdd3ed}.photo-picker.secondary{color:#373586}
.auth-art{background:radial-gradient(ellipse at 5% 95%,#5662aa 0,transparent 52%),linear-gradient(135deg,#242452,#373586 65%,#434b96)}.auth-art .brand{font-size:27px}.auth-art .brand-logo{width:58px;height:58px}.auth-art .brand span:last-child{color:#c9d5ff}.auth-art p{color:#d3d9f0}.auth-art .eyebrow{color:#dce4ff}.auth-panel{background:linear-gradient(160deg,#fff,#f0f3fc)}.auth-form h1{color:#303464}.timeline{border-color:#d7dcf3}.footer{color:#748099}
@media(max-width:760px){.auth-panel{border-top:5px solid #373586}.auth-form{padding-top:20px}}

/* Readable typography with deeper QDC ink tones. */
:root{--ink:#1d2442;--muted:#505c76}
body{font-weight:500;line-height:1.55;font-family:'DM Sans','Segoe UI',sans-serif}
h1,h2,h3{color:#20294b;line-height:1.3}h1{letter-spacing:-.7px}h2{font-size:18px;letter-spacing:-.25px}h3{font-size:15px}
.subtitle{font-size:15px}.help{font-size:13px;font-weight:500}.eyebrow,.workspace{font-weight:700}.workspace{color:#525c79}
nav a{color:#46516f;font-weight:600}.stat-top{color:#414e69;font-size:14px;font-weight:600}.stat strong{color:#262d59;font-variant-numeric:tabular-nums}.stat small{font-size:12px;font-weight:500}
.chart .bar-group span,.donut-center small{font-size:12px;color:var(--muted)}.legend div{font-size:13px}.bar-group b{font-size:12px}
label{font-size:13px;color:#303c58}input,select,textarea{font-weight:500}input::placeholder,textarea::placeholder{color:#65718a;opacity:1}
th{font-size:11px;color:#46516d;font-weight:700}td{font-size:13px}td strong{font-size:14px}.badge{font-size:11px}.card-heading a{font-size:13px}
.profile small{font-size:12px}.breadcrumb,.pagination{font-weight:500}.sidebar-bottom{line-height:1.7}.footer{color:#59657e;font-size:12px}
@media(max-width:760px){.subtitle{font-size:14px}.stat-top{font-size:13px}}

/* QDC sign-in experience */
.auth{min-height:100svh;grid-template-columns:1.08fr 1fr;background:#f3f5fc}.auth-art{padding:42px 9%;justify-content:space-between;isolation:isolate}.auth-art:before{content:'';position:absolute;width:620px;height:620px;border:1px solid #ffffff12;border-radius:50%;top:18%;left:38%;z-index:-1;box-shadow:0 0 0 85px #ffffff03,0 0 0 170px #ffffff03}.auth-art .brand{color:white}.auth-story{padding:55px 0}.auth-kicker{display:inline-block;border:1px solid #aab4e747;background:#ffffff09;border-radius:30px;padding:8px 14px;color:#dce2ff;font-size:10px;font-weight:700;letter-spacing:1.6px}.auth-art h1{color:white;font-size:clamp(38px,3.7vw,60px);line-height:1.12;letter-spacing:-1.8px;margin:26px 0 22px;max-width:550px}.auth-art h1 em{color:#bacaff;font-style:normal}.auth-art p{font-size:15px;line-height:1.8;max-width:430px}.auth-features{display:grid;gap:19px;margin-top:32px}.auth-features div{display:grid;grid-template-columns:34px 1fr;column-gap:12px}.auth-features span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff26;border-radius:9px;font-size:11px;color:#cad4ff}.auth-features strong{font-size:13px;font-weight:600}.auth-features small{font-size:12px;color:#c1cbea;margin-top:2px}.auth-art-footer{display:flex;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #ffffff20;font-size:10px;letter-spacing:1.4px;color:#c3ccef}.auth-art-footer span{letter-spacing:0}.auth-panel{padding:45px;background:radial-gradient(ellipse at top right,#e3e7fc,transparent 60%),#f5f7fc}.auth-form{max-width:460px;padding:38px 40px 20px;border:1px solid #e1e5f1;border-radius:22px;background:#fff;box-shadow:0 20px 70px #28285c0b}.auth-card-brand{display:flex;align-items:center;gap:12px;margin-bottom:38px;font:800 21px Manrope,'Segoe UI',sans-serif;color:#30346a}.auth-card-brand img{border-radius:5px}.auth-card-brand small{display:block;font:500 11px 'DM Sans','Segoe UI',sans-serif;color:#59657e;margin-top:4px}.auth-form h1{font-size:30px;letter-spacing:-.8px;margin-bottom:10px}.auth-form .subtitle{font-size:14px;margin-bottom:28px}.auth-form .eyebrow{font-size:10px;letter-spacing:1.6px}.auth-form input{padding:14px;border-radius:9px;background:#fafbfe}.auth-form label{margin-top:19px;font-size:13px}.auth-form form>button{padding:15px;border-radius:9px;box-shadow:0 5px 14px #37358620}.password-field{position:relative}.password-field input{padding-right:70px}.auth-form .password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:auto;margin:0;padding:7px 9px;background:transparent;color:#373586;box-shadow:none;font-size:12px}.auth-form .password-toggle:hover{background:#eceefa}.auth-form .footer{border-top:1px solid #e9ecf4;padding:22px 0 4px;margin-top:28px;font-size:11px}.auth-form .alert{font-size:13px}
@media(max-width:1000px){.auth-art{padding:35px 7%}.auth-panel{padding:28px}.auth-form{padding:30px 26px 18px}.auth-art-footer{flex-direction:column}.auth-story{padding:35px 0}}
@media(max-width:760px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{min-height:100svh;padding:28px 18px;border-top:5px solid #373586}.auth-form{padding:30px 24px 18px;border-radius:16px}.auth-card-brand{margin-bottom:30px}.auth-form h1{font-size:28px}}

/* Narrower login brand panel; retain the single-column mobile layout. */
@media(min-width:761px){
  .auth{grid-template-columns:minmax(0,20%) minmax(0,80%)}
  .auth-art{padding:30px 16px;min-width:0;overflow-wrap:anywhere}.auth-art .brand{font-size:clamp(16px,1.5vw,24px);gap:6px}.auth-art .brand-logo{width:36px;height:36px}.auth-art .auth-kicker{font-size:9px;letter-spacing:.7px;padding:7px 9px}
  .auth-art h1{font-size:clamp(23px,2.2vw,38px);letter-spacing:-.6px}
  .auth-art-footer{flex-direction:column;gap:8px}
}

.user-row-actions{display:flex;align-items:center;gap:8px}.user-row-actions .button,.user-row-actions button{padding:8px 12px;font-size:12px}.user-row-actions form{margin:0}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.badge.active{background:#e8f5ed;color:#24633d}.badge.inactive{background:#eef0f5;color:#596174}

.owner-picker{border:1px solid #dce4e3;border-radius:7px;background:#fff}.owner-picker summary{padding:11px 13px;cursor:pointer}.owner-options{max-height:240px;overflow:auto;padding:8px 13px;border-top:1px solid #e1e5f1}.owner-options label{display:flex;align-items:center;gap:10px;padding:8px 0}.owner-options input{width:auto}.owner-options small{display:block;color:#505c76;font-weight:400}.owner-selection{display:flex;flex-wrap:wrap;gap:5px}

aside{overflow-y:auto}.sidebar-bottom{flex-shrink:0}
