:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17302e;background:#f4f7f6;--dark:#0c302e;--teal:#07857c;--line:#dbe6e4;--muted:#667b78;--danger:#b42318}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--dark);color:white;padding:28px 20px;display:flex;flex-direction:column}.brand{color:white;text-decoration:none;font-size:20px;font-weight:850;margin:0 10px 32px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#bad0cd;text-decoration:none;padding:10px 12px;border-radius:8px}.sidebar nav a:hover,.sidebar nav a:focus{background:#174743;color:white;outline:none}.tenant{margin-top:auto;color:#7fa8a3;font-size:12px}.workspace header{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;padding:0 36px;background:#fff}.workspace header div{display:grid;text-align:right}.workspace header small,.muted{color:var(--muted)}main{padding:38px;max-width:1400px;width:100%}.page-heading{margin-bottom:28px}.page-heading--actions{display:flex;align-items:end;justify-content:space-between;gap:24px}.page-heading h1{font-family:Georgia,serif;font-size:40px;margin:4px 0 8px}.page-heading p{color:var(--muted);margin:0}.page-actions{display:flex;gap:10px;flex-shrink:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px!important;color:var(--teal)!important;font-weight:800}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.summary-card,.module-start{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.summary-card{display:grid;gap:8px}.summary-card span{color:var(--muted);font-size:13px}.summary-card strong{font-family:Georgia,serif;font-size:34px}.module-start h2{font-family:Georgia,serif}.module-start p{color:var(--muted);line-height:1.6}.loading{color:var(--muted)}.button{border:1px solid transparent;border-radius:8px;padding:10px 14px;font:inherit;font-size:14px;font-weight:750;cursor:pointer}.button:focus-visible{outline:3px solid #8ddbd5;outline-offset:2px}.button--primary{color:white;background:var(--teal)}.button--primary:hover{background:#066f68}.button--secondary{color:var(--teal);background:#edf8f7;border-color:#b9dedb}.button--ghost{background:white;border-color:var(--line);color:#37504d}.button--icon{font-size:24px;line-height:1;padding:5px 9px;background:transparent;color:var(--muted)}.button:disabled{opacity:.55;cursor:wait}.table-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:15px 16px;border-bottom:1px solid #e8efee;vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8faf9}tbody tr:last-child td{border-bottom:0}.cell-main{display:grid;gap:4px;min-width:220px}.cell-main small{color:var(--muted)}.badge{display:inline-flex;white-space:nowrap;padding:5px 9px;border-radius:999px;background:#edf2f1;color:#46615e;font-size:12px;font-weight:750}.badge--open,.badge--qualified,.badge--planned{background:#fff5d9;color:#815d00}.badge--completed,.badge--closed{background:#e9f8ef;color:#14733b}.badge--critical{background:#feeceb;color:#a32118}.badge--major{background:#fff1e4;color:#934b0c}.badge--minor,.badge--verification,.badge--inprogress{background:#e8f3ff;color:#175f99}.empty-state,.error-state{padding:54px 24px;text-align:center;border:1px dashed #bfd0cd;border-radius:12px;background:white}.empty-state p,.error-state p{color:var(--muted)}.modal{width:min(620px,calc(100% - 32px));max-height:calc(100vh - 32px);border:0;border-radius:14px;padding:0;box-shadow:0 20px 70px #082d2a38}.modal::backdrop{background:#092c2a99}.modal-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-heading h2{margin:0;font-family:Georgia,serif}.dialog-form{padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:grid;gap:7px;color:#38504d;font-size:13px;font-weight:700}.form-field:has(textarea){grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #b8cac7;border-radius:8px;padding:10px 11px;background:white;font:inherit;color:var(--dark)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid #c5eeeb;border-color:var(--teal)}.checkbox-field{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-weight:700}.checkbox-field input{width:18px;height:18px}.dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.form-error{grid-column:1/-1;padding:10px;border-radius:7px;background:#feeceb;color:var(--danger)}.toast{position:fixed;z-index:20;right:24px;bottom:24px;padding:13px 17px;border-radius:9px;background:#133d39;color:white;box-shadow:0 8px 25px #082d2a33}.toast--error{background:var(--danger)}@media(max-width:1000px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.tenant{display:none}.workspace header{padding:0 20px}main{padding:24px 18px}.summary-grid{grid-template-columns:1fr}.page-heading--actions{align-items:stretch;flex-direction:column}.page-heading h1{font-size:32px}.dialog-form{grid-template-columns:1fr}.form-field,.form-field:has(textarea),.checkbox-field,.dialog-actions{grid-column:1}.table-card{background:transparent;border:0;overflow:visible}table,tbody{display:block}thead{position:absolute;clip:rect(0 0 0 0)}tr{display:block;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:8px 14px}td{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f0}td::before{content:attr(data-label);font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:750}.table-scroll{overflow:visible}}
