/* 10 Oct 2026: fonts now come from assets/fonts.css (kept on this site) instead of Google */
:root{--bg:#f5f8f6;--ink:#183e32;--muted:#576d61;--line:#dce5df;--green:#125c46;--pale:#e9f2ec;--red:#b3333e;font:16px 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;line-height:1.55;background:radial-gradient(ellipse at 90% 0,#e4eee877,transparent 55%),var(--bg)}h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;line-height:1.2;margin:0 0 12px;overflow-wrap:anywhere}h1{font-size:36px}h2{font-size:25px}h3{font-size:21px}p{margin:8px 0 16px}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{width:100%;min-width:0;max-width:100%;min-height:42px;border:1px solid #ccdad1;border-radius:9px;padding:10px 12px;font-size:14px;color:var(--ink);background:white}textarea{min-height:105px;resize:vertical;line-height:1.65}input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:var(--green);margin:0}input[type=hidden]{display:none}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #49826c;outline-offset:3px}label{display:grid;gap:7px;min-width:0;font-size:14px;font-weight:600}small,.muted{color:var(--muted)}small{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{display:block;margin-bottom:10px;font-size:12px;letter-spacing:.1em;font-weight:700;color:#708b7c}
.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:#ffffffdf;backdrop-filter:blur(20px);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;z-index:40}.brand{height:88px;flex:0 0 88px;padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center}.brand img{width:100%;height:52px;object-fit:contain;object-position:left}.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding:22px 14px;display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;font-size:16px;font-weight:600;color:#466659}.nav-link span{width:22px;flex:0 0 22px;text-align:center;font-size:19px}.nav-link:hover{background:#f1f6f2;text-decoration:none}.nav-link.active{background:#e7f0ea;color:#104f3e;font-weight:700}.account{border-top:1px solid var(--line);padding:18px 22px;display:grid;gap:4px}.account strong{font-size:14px}.account small{overflow-wrap:anywhere}.link-button{background:none;border:0;padding:6px 0;color:var(--red);font-size:14px}.main{min-width:0}.topbar{min-height:88px;display:flex;align-items:center;gap:16px;padding:16px 32px;border-bottom:1px solid var(--line);background:#ffffffc9;backdrop-filter:blur(18px)}.client-selector{margin-left:auto;width:240px;min-width:0}.access-badge{font-size:12px;font-weight:700;color:var(--green);padding:8px 12px;border:1px solid #d6e6dc;border-radius:99px;background:var(--pale);white-space:nowrap}.mobile-menu{display:none;border:1px solid var(--line);background:white;width:42px;height:42px;border-radius:9px;font-size:22px}.content{padding:36px 32px 64px;max-width:1500px;margin:auto;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading>div{min-width:0}.page-heading h1{margin:0}.page-heading p{font-size:14px;color:var(--muted);margin:10px 0 0}.action-cluster{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid transparent;border-radius:9px;padding:9px 14px;font-size:14px;font-weight:600;line-height:1.4;white-space:nowrap;background:white;color:var(--ink)}.button:hover{text-decoration:none;filter:brightness(.97)}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.secondary{border-color:var(--line)}.button.subtle{background:transparent;border-color:transparent}.button.danger,.icon-button.danger{color:var(--red)}.icon-button{background:transparent;border:0;color:var(--green);padding:7px;font-size:14px;white-space:nowrap}
.panel,.table-card,.stat,.portal-card,.doc-card,.file-card,.document-editor{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 20px #244f3b06;min-width:0}.panel,.document-editor{padding:24px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-head h2,.panel-head h3{margin:0 0 6px}.panel-head p{font-size:14px;margin:0;max-width:680px}.panel-head>a{font-size:14px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px}.stat{padding:20px;display:grid;gap:8px;color:var(--ink)}.stat span{font-size:14px;color:var(--muted)}.stat strong{font-size:32px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.feed-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.feed-row>div:not(.date-tile){flex:1;min-width:0}.feed-row strong{font-size:14px;overflow-wrap:anywhere}.feed-row small,.block{display:block;margin-top:3px}.status-dot{height:8px;width:8px;flex:0 0 8px;border-radius:50%;background:#dba339}.status-dot.high,.status-dot.urgent{background:#c95858}.date-tile{width:45px;flex:0 0 45px;border-radius:9px;background:var(--pale);text-align:center;padding:6px}.quick{margin-top:24px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-grid a{display:grid;gap:5px;border:1px solid var(--line);border-radius:10px;padding:15px;font-size:14px}.quick-grid a>span{font-size:22px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;flex-wrap:wrap;min-width:0}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;flex:1}.filters>.search-field,.filters>input{flex:1 1 200px;max-width:340px}.filters>select{width:auto;max-width:240px}.table-card{overflow-x:auto;overflow-y:visible;max-width:100%;scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#b9c9bf transparent}.table-card::-webkit-scrollbar{height:11px}.table-card::-webkit-scrollbar-track{background:transparent}.table-card::-webkit-scrollbar-thumb{background:#b9c9bf;border-radius:99px;border:2px solid transparent;background-clip:padding-box}.table-card::-webkit-scrollbar-thumb:hover{background:#9fb3a7;background-clip:padding-box}.table-scroll-wrap{position:relative}.table-scroll-wrap .table-card{border-radius:inherit}.table-scroll-wrap:before,.table-scroll-wrap:after{content:"";position:absolute;top:1px;bottom:11px;width:34px;z-index:5;pointer-events:none;opacity:0;transition:opacity .15s ease;border-radius:inherit}.table-scroll-wrap:before{left:1px;background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.table-scroll-wrap:after{right:1px;background:linear-gradient(to left,#fff,rgba(255,255,255,0))}.table-scroll-wrap.can-scroll-left:before,.table-scroll-wrap.can-scroll-right:after{opacity:1}.table-scroll-btn{position:absolute;top:50%;margin-top:-17px;z-index:6;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:0 6px 16px rgba(20,50,38,.18);display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#2f4b3d;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.table-scroll-btn:hover{transform:scale(1.08);background:#f4f7f4}.table-scroll-btn.prev{left:-15px}.table-scroll-btn.next{right:-15px}.table-scroll-wrap.can-scroll-left .table-scroll-btn.prev,.table-scroll-wrap.can-scroll-right .table-scroll-btn.next{opacity:1;pointer-events:auto}@media(max-width:760px){.table-scroll-btn{display:none}.table-scroll-wrap:before,.table-scroll-wrap:after{display:none}}table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.045em;font-weight:700;background:#f4f7f4;color:#62776c;white-space:nowrap}th,td{padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top}td{min-width:130px;max-width:330px}td .pill,td .workspace-tag{margin-top:1px}td .cell-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere;max-height:105px;overflow:auto}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}.row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.row-actions form{margin:0}.row-actions .button{font-size:13px;min-height:34px;padding:7px 10px}.actions,.doc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill,.workspace-tag{display:inline-block;padding:4px 9px;border-radius:99px;font-size:12px;background:#edf1ee;color:#537064;font-weight:600;white-space:nowrap;text-transform:capitalize}.pill.active,.pill.approved,.pill.done,.pill.delivered,.workspace-tag.shared{background:#e6f4e9;color:#237040}.pill.high,.pill.urgent,.pill.overdue,.pill.blocked,.pill.cancelled{background:#fbe9e9;color:#9f3b3f}.workspace-tag.private{background:#edf0f9;color:#546286}.progress-cell{min-width:110px;display:grid;gap:5px}.progress-cell span{font-size:12px}progress{accent-color:var(--green);height:7px;width:110px}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink)}.empty p{font-size:14px}.empty .button{margin-top:8px}
dialog{padding:0;border:1px solid var(--line);border-radius:18px;width:min(740px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 28px 90px #122d3240;color:var(--ink);background:white}dialog::backdrop{background:#122d3266;backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}.modal-form{padding:26px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.modal-head h2{margin:0}.modal-head p{margin:7px 0 0;color:var(--muted);font-size:13px}.modal-head>button{border:0;background:#f0f5f1;border-radius:8px;width:32px;height:32px;flex:0 0 32px;font-size:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .full{grid-column:1/-1}.form-grid small{font-weight:400}.check{display:flex;flex-direction:row;align-items:center;gap:9px;font-weight:500}.form-grid label.check{justify-content:flex-start;min-height:42px}.workspace-control{padding:18px;border-radius:11px;background:#f4f8f4}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.settings-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--line)}.settings-tabs a{padding:10px 16px;border-radius:8px;font-size:14px;color:var(--muted)}.settings-tabs a.active{background:var(--green);color:white}.panel-selector{display:flex;align-items:center;gap:16px;margin-bottom:22px}.panel-selector form{width:min(300px,65%)}.field-config-list{display:grid;gap:12px;margin:22px 0}.field-config-card{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;padding:18px}.field-config-main{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,190px) 120px;gap:18px;align-items:start}.field-type{display:grid;gap:7px;min-width:0}.field-config-main input,.field-config-main select{height:44px}.field-type .pill{justify-self:start}.field-config-options{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px}.field-hint{font-size:12px;color:var(--muted);margin:12px 0 0}.choice-editor{margin-top:16px;max-width:540px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line)}.form-footer p{font-size:13px;margin:0}.navigation-config{display:grid;gap:12px;margin:24px 0}.nav-config-row{display:grid;grid-template-columns:minmax(180px,1fr) 80px minmax(90px,120px) 120px;gap:20px;align-items:center;padding:16px;background:#f8faf8;border:1px solid var(--line);border-radius:10px}.nav-config-row .muted{font-size:12px}
.document-tabs{display:flex;gap:16px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}.document-tabs a{padding:10px 4px}.document-tabs a.active{border-bottom:2px solid var(--green);font-weight:700}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:16px}.file-card{padding:22px;display:flex;flex-direction:column;gap:10px;color:var(--ink);overflow-wrap:anywhere}.file-card-main{display:flex;flex:1;flex-direction:column;gap:10px;color:var(--ink)}.file-card-main:hover{text-decoration:none}.file-symbol{font-size:30px;color:#60816f}.file-card strong{font-size:15px}.file-card .doc-actions{margin-top:auto;padding-top:12px}.file-card .button{font-size:13px}.breadcrumbs{display:flex;gap:10px;margin-bottom:20px;font-size:14px}.text-editor{width:100%;min-height:420px;padding:20px;line-height:1.8}.list-toolbar{margin:20px 0}.list-toolbar form{display:flex;flex-wrap:wrap;gap:10px}.list-toolbar input,.list-toolbar select{width:auto;flex:1 1 150px;max-width:260px}.cards{display:grid;gap:18px}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.portal-card{padding:24px;display:grid;gap:16px}.portal-top{display:flex;gap:12px;align-items:start;flex-wrap:wrap}.portal-top>div{min-width:0;flex:1}.portal-top a{font-size:13px;overflow-wrap:anywhere}.portal-icon,.doc-icon{font-size:24px}.secret-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.portal-notes{white-space:pre-wrap;font-size:14px;overflow-wrap:anywhere}.alert{padding:14px 18px;border-radius:10px;margin-bottom:22px;background:#eef4ee;color:var(--green);font-size:14px}.alert.error{background:#fcebed;color:#9e313b}.alert.success{background:#e7f5e9;color:#256d3f}
.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-card,.install-card{background:white;width:min(460px,100%);padding:32px;border:1px solid var(--line);border-radius:18px}.install-card{width:min(760px,100%)}.auth-logo{width:240px;max-width:100%;height:78px;object-fit:contain;object-position:left;margin-bottom:20px}.stack{display:grid;gap:18px}.auth-card .stack{margin-top:24px}.auth-card h1,.install-card h1{font-size:28px}
@media(max-width:1150px){.app-shell{grid-template-columns:225px minmax(0,1fr)}.content{padding:28px 24px}.topbar{padding:16px 24px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-config-row{grid-template-columns:minmax(140px,1fr) 70px 100px}.nav-config-row>.muted{grid-column:1/-1}}
@media(max-width:850px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:8px 0 50px #163d3140}.mobile-menu{display:block}.topbar{min-height:72px}.content{padding:26px 20px 48px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:30px}}
@media(max-width:560px){.content{padding:24px 14px 40px}.topbar{padding:12px 14px;gap:10px}.access-badge{display:none}.client-selector{width:220px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}.modal-form{padding:20px}.panel,.document-editor{padding:18px}.panel-head{flex-direction:column;gap:14px}.filters{align-items:stretch;flex-direction:column}.filters>.search-field,.filters>input{flex:auto;max-width:none}.filters>select{max-width:none;width:100%}.action-cluster{width:100%}.field-config-main{grid-template-columns:minmax(0,1fr) 100px;gap:16px 12px}.field-config-main>label:first-child{grid-column:1/-1}.field-config-main>.field-type{grid-row:2;grid-column:1}.field-config-main>.order-field{grid-row:2;grid-column:2}.field-config-options{gap:14px}.field-config-options label{font-size:13px}.field-config-card{padding:14px}.nav-config-row{grid-template-columns:minmax(0,1fr) 65px;gap:12px}.stats{gap:12px}.stat{padding:16px}.secret-row{grid-template-columns:minmax(0,1fr) auto}.secret-row>input{grid-column:1/-1}th,td{padding:12px}.form-footer>.button{width:100%}.settings-tabs a{padding:9px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.nav-icon{width:22px;height:22px;flex:0 0 22px;color:#668276}.nav-link.active .nav-icon{color:#155740}.nav-link.active{box-shadow:inset 3px 0 #287458}.account-link{font-size:13px;margin-top:6px;font-weight:600}.account-panel{max-width:620px}.account-panel .stack{margin-top:24px}.row-actions-heading,.row-actions-cell{width:1%;white-space:nowrap}.row-actions-cell{min-width:0}.choice-editor[hidden]{display:none}
/* Scalable brand artwork and clearer high-density text rendering. */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}.brand img,.auth-logo{image-rendering:auto}.nav-icon{shape-rendering:geometricPrecision}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.list-column-form{display:grid;gap:7px;min-width:180px}.list-column-form input,.list-column-form select,.list-editor-table td input{min-width:120px;height:36px;padding:7px 9px;font-size:13px;text-transform:none;letter-spacing:normal}.list-column-form>div{display:flex;gap:5px}.list-column-form .button{min-height:30px;padding:5px 8px;font-size:12px}.list-editor-table th{vertical-align:top}.list-new-row{background:#f7faf7}.breadcrumbs{overflow-x:auto;white-space:nowrap;padding-bottom:3px}
.file-card.folder .file-symbol{display:none}.file-card{position:relative;border-color:color-mix(in srgb,var(--card-accent,#668f79) 32%,var(--line));border-top:5px solid var(--card-accent,#668f79);background:var(--card-wash,#e8f3ec);box-shadow:0 6px 18px color-mix(in srgb,var(--card-accent,#668f79) 12%,transparent)}.file-card .file-card-main,.file-card>strong{padding-right:26px}.file-card.tone-sage,.palette-choice.tone-sage{--card-accent:#6e9a80;--card-wash:#e8f2ea}.file-card.tone-eucalyptus,.palette-choice.tone-eucalyptus{--card-accent:#4a9183;--card-wash:#e0efeb}.file-card.tone-ocean,.palette-choice.tone-ocean{--card-accent:#4b8a9c;--card-wash:#e1eff3}.file-card.tone-sky,.palette-choice.tone-sky{--card-accent:#6d9ac4;--card-wash:#e4eef7}.file-card.tone-lavender,.palette-choice.tone-lavender{--card-accent:#8b7cb3;--card-wash:#ece7f5}.file-card.tone-rose,.palette-choice.tone-rose{--card-accent:#b87d91;--card-wash:#f6e6eb}.file-card.tone-sand,.palette-choice.tone-sand{--card-accent:#b4934f;--card-wash:#f6ecd9}.file-card.tone-terracotta,.palette-choice.tone-terracotta{--card-accent:#c07a63;--card-wash:#f7e6df}.file-card.tone-slate,.palette-choice.tone-slate{--card-accent:#7d8d97;--card-wash:#eaeef1}.color-button{position:absolute;top:14px;right:14px;width:18px;height:18px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--card-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent) 70%,#263d34),0 2px 7px #17372d2b;cursor:pointer;z-index:2}.color-button:hover{transform:scale(1.13)}.color-button:focus-visible{outline:3px solid color-mix(in srgb,var(--card-accent) 35%,transparent);outline-offset:3px}.breadcrumbs a{font-weight:600}.breadcrumbs a:last-child{color:var(--ink)}dialog:has(.color-form){overflow-x:hidden}.color-form{box-sizing:border-box;max-width:100%;overflow:hidden}.palette-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.palette-choice{position:relative;min-width:0;display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.palette-choice:has(input:checked){border-color:var(--card-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--card-accent) 20%,transparent)}.palette-choice input{position:absolute;opacity:0}.palette-swatch{width:22px;height:22px;border-radius:50%;background:var(--card-accent);flex:0 0 22px}.palette-choice strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.palette-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.client-tone-forest{--client-accent:#155f46;--client-deep:#0d4534;--client-wash:#dcefe5}.client-tone-emerald{--client-accent:#168267;--client-deep:#0b5d49;--client-wash:#d8f1e9}.client-tone-teal{--client-accent:#167982;--client-deep:#0c555d;--client-wash:#d8eef0}.client-tone-ocean{--client-accent:#276f9b;--client-deep:#174f72;--client-wash:#dcebf5}.client-tone-indigo{--client-accent:#4e61a8;--client-deep:#364584;--client-wash:#e2e6f5}.client-tone-violet{--client-accent:#7555a0;--client-deep:#533a78;--client-wash:#ebe2f4}.client-tone-berry{--client-accent:#9c4969;--client-deep:#74334d;--client-wash:#f2dee6}.client-tone-coral{--client-accent:#b55e4e;--client-deep:#854236;--client-wash:#f5dfda}.client-tone-amber{--client-accent:#a87520;--client-deep:#765215;--client-wash:#f5e9cb}.client-brand-strip{display:flex;align-items:center;gap:16px;padding:16px 20px;margin:-10px 0 24px;border:1px solid color-mix(in srgb,var(--client-accent) 32%,var(--line));border-radius:15px;background:linear-gradient(110deg,var(--client-wash),#fff 72%);color:var(--ink);box-shadow:0 10px 28px color-mix(in srgb,var(--client-accent) 13%,transparent)}.client-brand-strip:hover{text-decoration:none;transform:translateY(-1px)}.client-brand-strip img,.client-logo-fallback{width:58px;height:58px;flex:0 0 58px;border-radius:13px;background:#fff;border:1px solid color-mix(in srgb,var(--client-accent) 28%,#fff);object-fit:contain;padding:7px;box-shadow:0 5px 14px #17392c12}.client-logo-fallback{display:grid;place-items:center;padding:0;background:var(--client-accent);color:#fff;font:700 27px 'Playfair Display',serif}.client-brand-strip>span:nth-child(2){display:grid;gap:2px;min-width:0}.client-brand-strip small{font-size:10px;letter-spacing:.11em;color:var(--client-accent);font-weight:700}.client-brand-strip strong{font-size:18px}.client-brand-strip em{font-size:12px;color:var(--muted);font-style:normal}.client-brand-strip>b{margin-left:auto;color:var(--client-deep);font-size:13px;white-space:nowrap}.client-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:26px 28px;border-radius:18px;border:1px solid color-mix(in srgb,var(--client-accent) 34%,var(--line));background:radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--client-accent) 18%,transparent),transparent 32%),linear-gradient(120deg,var(--client-wash),#fff 76%);box-shadow:0 14px 36px color-mix(in srgb,var(--client-accent) 14%,transparent)}.client-hero-identity{display:flex;align-items:center;gap:20px;min-width:0}.client-hero-identity img,.client-hero-identity .client-logo-fallback{width:92px;height:92px;flex-basis:92px;border-radius:19px;padding:10px}.client-hero-identity .client-logo-fallback{padding:0;font-size:40px}.client-hero h1{margin:3px 0 5px}.client-hero p{margin:0;color:var(--muted)}.client-hero .eyebrow{color:var(--client-accent)}.client-name-cell{display:flex;align-items:center;gap:10px}.client-name-cell img,.client-name-cell .client-initial{width:34px;height:34px;flex:0 0 34px;border-radius:8px;border:1px solid var(--line);object-fit:contain;padding:3px;background:#fff}.client-name-cell .client-initial{display:grid;place-items:center;padding:0;background:var(--pale);color:var(--green);font-weight:700}@media(max-width:760px){.client-hero{align-items:flex-start;flex-direction:column}.client-hero-identity img,.client-hero-identity .client-logo-fallback{width:70px;height:70px;flex-basis:70px}.client-brand-strip>b{display:none}}
.client-hero-identity img{width:auto;height:auto;max-width:190px;max-height:118px;min-width:110px;flex:0 1 auto;aspect-ratio:auto;object-fit:contain;object-position:center;padding:6px}.client-brand-strip img{width:auto;height:auto;max-width:140px;max-height:72px;min-width:64px;flex:0 1 auto;aspect-ratio:auto;object-fit:contain;object-position:center;padding:5px}.client-name-cell img{width:auto;height:auto;max-width:52px;max-height:38px;min-width:34px;aspect-ratio:auto;object-fit:contain}@media(max-width:760px){.client-hero-identity img{width:auto;height:auto;max-width:150px;max-height:92px;min-width:86px}}
.client-hero-identity img{width:190px;height:118px;min-width:190px;max-width:190px;max-height:118px;object-fit:contain;object-position:center}.client-brand-strip img{width:120px;height:64px;min-width:120px;max-width:120px;max-height:64px;object-fit:contain;object-position:center}.client-name-cell img{width:48px;height:36px;min-width:48px;max-width:48px;max-height:36px;object-fit:contain;object-position:center}@media(max-width:760px){.client-hero-identity img{width:150px;height:92px;min-width:150px;max-width:150px;max-height:92px}}
.client-tone-heritage_gold{--client-accent:#B1842B;--client-deep:#765719;--client-wash:#f4ead2}.client-tone-academic_navy{--client-accent:#245384;--client-deep:#17385b;--client-wash:#dce7f1}.client-tone-olive_green{--client-accent:#628447;--client-deep:#405d2d;--client-wash:#e3ecd9}.client-tone-warm_amber{--client-accent:#C58A24;--client-deep:#855c16;--client-wash:#f6e9cc}.client-tone-medical_crimson{--client-accent:#A94742;--client-deep:#74302d;--client-wash:#f2dcda}.client-tone-desert_terracotta{--client-accent:#B55E48;--client-deep:#7c3e30;--client-wash:#f3dfd9}.client-tone-royal_plum{--client-accent:#744B86;--client-deep:#50325e;--client-wash:#e9dfed}.client-tone-institutional_blue{--client-accent:#3973AD;--client-deep:#254e77;--client-wash:#dce9f4}
.pill.low{background:#e7f3ea;color:#2f7146}.pill.moderate{background:#fff1cf;color:#8a6417}.pill.critical{background:#f6d9dc;color:#9b2532}.pill.identified,.pill.assessing{background:#e9eef7;color:#4d6084}.pill.monitoring{background:#e4f1f3;color:#2f6d76}.pill.mitigated,.pill.closed{background:#e4f2e7;color:#2d7041}
.pill.on_track{background:#e2f3e7;color:#23673b}.pill.needs_attention{background:#fff0ca;color:#855d0b}.pill.at_risk{background:#f8dfe1;color:#982e39}.pill.complete{background:#e9edf1;color:#53616b}
.status-dot.health-at_risk{background:#c95858}.status-dot.health-on_track{background:#4c9366}.status-dot.health-needs_attention{background:#dba339}.status-dot.health-complete{background:#87939a}
.pill.submitted,.pill.under_review{background:#e8eef7;color:#4a5f83}.pill.implemented{background:#e2f3e7;color:#23673b}.pill.rejected{background:#f8dfe1;color:#982e39}
.pill.pending_review{background:#e8eef7;color:#4a5f83}.pill.changes_requested{background:#fff0ca;color:#855d0b}.pill.not_submitted,.pill.not_required{background:#edf0f1;color:#58656c}
.field-muted{opacity:.48;transition:opacity .15s ease}.field-muted input,.field-muted select,.field-muted textarea{background:#f3f5f3}
.reminder-field-hidden{display:none!important}
.form-validation-note{margin:0 0 16px;padding:12px 14px;border:1px solid #efb9bd;border-radius:10px;background:#fff1f2;color:#a62e38;font-size:14px}.form-validation-note[hidden]{display:none}
.ranking-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.ranking-history-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,#f4f8f5)}.ranking-history-card>img,.ranking-result-card>img{width:72px;height:72px;object-fit:contain}.ranking-history-card h3{margin:3px 0}.ranking-kpi{text-align:center}.ranking-kpi strong{display:block;font:700 34px/1 'Playfair Display',serif;color:var(--green)}.ranking-spark{grid-column:1/-1;height:90px;display:flex;align-items:flex-end;gap:8px;padding:10px 8px 0;border-bottom:1px solid var(--line)}.ranking-spark span{flex:1;min-width:8px;border-radius:6px 6px 0 0;background:linear-gradient(#4c9366,#125c46)}.ranking-periods{grid-column:1/-1;display:flex;gap:8px;overflow-x:auto}.ranking-periods b{min-width:82px;padding:8px;border-radius:8px;background:#eef5f1;text-align:center;font-size:12px}.ranking-periods small{display:block;margin-top:3px}.ranking-history-filters select{min-width:180px}@media(max-width:620px){.ranking-history-card{grid-template-columns:58px minmax(0,1fr)}.ranking-history-card>img{width:54px;height:54px}.ranking-kpi{grid-column:1/-1;text-align:left}}
.sticky-note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.sticky-note{display:flex;flex-direction:column;min-height:190px;padding:18px;border:1px solid #00000012;border-radius:6px;box-shadow:0 8px 18px #173d2c12;transform:rotate(-.25deg)}.sticky-note:nth-child(even){transform:rotate(.3deg)}.sticky-yellow{background:#fff3a9}.sticky-green{background:#d9f3d5}.sticky-blue{background:#dbeeff}.sticky-pink{background:#ffe0e9}.sticky-purple{background:#eadfff}.sticky-white{background:#fff}.sticky-note-head,.sticky-note-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.sticky-note h3{margin:15px 0 8px}.sticky-note p{flex:1;margin:0 0 16px;white-space:normal;overflow-wrap:anywhere}.sticky-note-foot form{margin:0}.sticky-note-foot .button{padding:5px 8px;min-height:30px}
.sticky-complete-form{margin:0}.sticky-complete-form label{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:11px;font-weight:800}.sticky-complete-form input{width:18px;height:18px;accent-color:var(--green)}.sticky-history{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.sticky-history summary{display:flex;align-items:center;gap:8px;width:max-content;cursor:pointer;font-weight:700}.sticky-history-list{display:grid;gap:7px;margin-top:12px}.sticky-history-list>div{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9f7}.sticky-history-list>div>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dff1e5;color:#24633d;font-weight:900}.sticky-history-list p{display:grid;gap:2px;margin:0;min-width:0}.sticky-history-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.sticky-history-list time{font-size:11px;color:var(--muted)}
.dashboard-content-tabs{display:flex;gap:8px;margin:20px 0 12px}.dashboard-content-tabs a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);font-weight:700}.dashboard-content-tabs a:hover{background:var(--pale);text-decoration:none}.important-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.important-link-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f5f9f6)}.important-link-card>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;padding:15px;color:var(--ink)}.important-link-card>a:hover{text-decoration:none;background:#f0f7f3}.important-link-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--green);color:#fff;font:700 22px 'Playfair Display',serif}.important-link-card>a>span:nth-child(2){display:grid;gap:3px;min-width:0}.important-link-card strong,.important-link-card small,.important-link-card em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.important-link-card small{color:var(--muted)}.important-link-card em{font-size:11px;color:#60766d}.important-link-card>a>b{font-size:20px;color:var(--green)}.important-link-card>div{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid var(--line)}.important-link-card form{margin:0}.important-link-card .link-button{font-size:11px}.important-links-panel,.sticky-notes-panel{scroll-margin-top:20px}@media(max-width:620px){.important-link-grid{grid-template-columns:1fr}}
.command-center-heading{position:relative;isolation:isolate;overflow:hidden;min-height:150px;padding:26px 30px;border:1px solid #d7e4dc;border-radius:20px;background:linear-gradient(125deg,#f9fcfa 0%,#edf6f0 55%,#e4f0e9 100%)}.command-center-heading:before{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-65px;top:-125px;border-radius:50%;background:radial-gradient(circle,#86b49b55 0 36%,transparent 37%),conic-gradient(from 15deg,#3973ad33,#b1842b30,#4c936640,#3973ad33);animation:dashboard-orbit 20s linear infinite}.command-center-heading:after{content:"";position:absolute;z-index:-1;left:45%;bottom:-55px;width:160px;height:110px;border:18px solid #ffffff88;border-radius:50%;transform:rotate(-12deg)}.command-center-visual{display:flex;align-items:flex-end;gap:8px;margin-left:auto;padding:12px}.command-center-visual i{display:block;width:12px;border-radius:10px;background:linear-gradient(#4c9366,#125c46);animation:dashboard-pulse 2.8s ease-in-out infinite}.command-center-visual i:nth-child(1){height:34px}.command-center-visual i:nth-child(2){height:58px;animation-delay:.25s}.command-center-visual i:nth-child(3){height:44px;animation-delay:.5s}.content[data-panel="dashboard"] .stats .stat,.content[data-panel="dashboard"] .panel{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.content[data-panel="dashboard"] .stats .stat:hover{transform:translateY(-4px);box-shadow:0 14px 34px #173d2c16}.content[data-panel="dashboard"] .panel:hover{border-color:#bfd3c6}.important-link-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.important-link-card{position:relative;min-height:150px;border:0;border-radius:18px;background:linear-gradient(145deg,#e7f2eb,#cfe4d7);box-shadow:0 8px 24px #173d2c12;transition:transform .2s ease,box-shadow .2s ease}.important-link-card.link-tone-1{background:linear-gradient(145deg,#e5edf7,#cdddec)}.important-link-card.link-tone-2{background:linear-gradient(145deg,#f5ead1,#ead7a9)}.important-link-card.link-tone-3{background:linear-gradient(145deg,#eee5f3,#ddcce6)}.important-link-card.link-tone-4{background:linear-gradient(145deg,#f5e3df,#e8c9c1)}.important-link-card:hover{transform:translateY(-5px) rotate(-.3deg);box-shadow:0 17px 36px #173d2c24}.important-link-card>a.important-link-cover{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:14px;min-height:150px;padding:20px;color:var(--ink)}.important-link-card>a.important-link-cover:hover{background:transparent;text-decoration:none}.important-link-cover .important-link-icon{width:48px;height:48px;border-radius:15px;box-shadow:inset 0 1px #ffffff55}.important-link-cover strong{width:100%;font:700 19px 'Playfair Display',serif;white-space:normal}.important-link-view{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:32px;height:29px;border:1px solid #ffffffaa;border-radius:10px;background:#ffffffaa;color:var(--green);font-weight:900;cursor:pointer;backdrop-filter:blur(5px)}.important-link-view:hover{background:#fff;transform:scale(1.06)}.important-link-detail{width:min(560px,92vw);padding:0;border:0;border-radius:20px;overflow:hidden}.important-link-detail::backdrop{background:#173b2d55;backdrop-filter:blur(9px)}.important-link-detail>article{background:#fff}.important-link-detail-hero{position:relative;padding:28px;background:linear-gradient(135deg,#e2f0e7,#f9fcfa)}.important-link-detail-hero>span{display:grid;place-items:center;width:58px;height:58px;margin-bottom:18px;border-radius:17px;background:var(--green);color:#fff;font:700 27px 'Playfair Display',serif}.important-link-detail-hero>button{position:absolute;right:18px;top:18px;width:34px;height:34px;border:1px solid #bed2c5;border-radius:10px;background:#fff;font-size:20px;cursor:pointer}.important-link-detail-hero small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.important-link-detail-hero h2{margin:5px 0 15px}.important-link-detail-hero a{display:inline-flex;padding:9px 13px;border-radius:9px;background:var(--green);color:#fff;font-weight:700}.important-link-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 28px;margin:0}.important-link-detail dl>div{padding:12px;border-radius:10px;background:#f6f9f7}.important-link-detail dl>.full{grid-column:1/-1}.important-link-detail dt{font-size:10px;text-transform:uppercase;color:var(--muted)}.important-link-detail dd{margin:5px 0 0;overflow-wrap:anywhere}.important-link-detail footer{display:flex;justify-content:space-between;padding:0 28px 24px}.important-link-detail footer form{margin:0}@keyframes dashboard-orbit{to{transform:rotate(360deg)}}@keyframes dashboard-pulse{0%,100%{transform:scaleY(.84);opacity:.72}50%{transform:scaleY(1.08);opacity:1}}@media(prefers-reduced-motion:reduce){.command-center-heading:before,.command-center-visual i{animation:none}.important-link-card,.content[data-panel="dashboard"] .stats .stat,.content[data-panel="dashboard"] .panel{transition:none}}@media(max-width:700px){.command-center-heading{padding:22px;min-height:135px}.command-center-visual{display:none}.important-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.important-link-grid{grid-template-columns:1fr}.important-link-detail dl{grid-template-columns:1fr}.important-link-detail dl>.full{grid-column:auto}}
.connection-routing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.connection-routing>div{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--pale)}.connection-routing .workspace-tag{float:right}@media(max-width:700px){.connection-routing{grid-template-columns:1fr}}
.ranking-card-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.ranking-result-card{display:grid!important;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:130px;padding:18px!important;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;text-decoration:none;overflow:hidden}.ranking-logo-wrap{display:grid;place-items:center;width:78px;height:78px;border-radius:12px;background:#f4f7f5;overflow:hidden}.ranking-logo-wrap img,.ranking-result-card .ranking-logo-wrap img{display:block!important;width:70px!important;height:70px!important;max-width:70px!important;max-height:70px!important;object-fit:contain!important}.ranking-logo-wrap>span{font-weight:800;color:var(--green)}.ranking-card-copy{display:grid;gap:5px;min-width:0}.ranking-card-copy strong{font-size:16px;overflow-wrap:anywhere}.subject-label{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.subject-label.client{background:#dff2e5;color:#17633b}.subject-label.competitor{background:#fff0ca;color:#815b0a}.ranking-values{display:grid;text-align:right;gap:3px}.ranking-values b{font:700 34px/1 'Playfair Display',serif;color:var(--green)}.client-ranking-performance{margin-top:22px}@media(max-width:620px){.ranking-result-card{grid-template-columns:64px minmax(0,1fr)}.ranking-values{grid-column:1/-1;text-align:left}.ranking-logo-wrap{width:60px;height:60px}.ranking-logo-wrap img,.ranking-result-card .ranking-logo-wrap img{width:54px!important;height:54px!important}}
.client-portal-page .client-sidebar{background:linear-gradient(180deg,#fff 0,#f5f9f6 100%)}.client-portal-page .client-sidebar nav{padding-bottom:14px}.client-account{grid-template-columns:36px minmax(0,1fr);gap:10px 11px;align-items:center;padding:16px}.client-account-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--green);color:#fff;font-weight:800}.client-account>div{display:grid;min-width:0;line-height:1.35}.client-account strong,.client-account small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-account form{grid-column:1/-1;margin:2px 0 0}.client-account form .button{width:100%;background:#fff}.client-portal-page .panel{margin-bottom:24px}.client-portal-page .stats .stat{transition:transform .15s ease,box-shadow .15s ease}.client-portal-page .stats .stat:hover{transform:translateY(-2px);box-shadow:0 10px 28px #183d2c12;text-decoration:none}@media(max-width:850px){.client-portal-page .client-sidebar{position:static;width:auto;height:auto;transform:none;border-right:0;border-bottom:1px solid var(--line)}.client-portal-page .client-sidebar .brand{height:68px;max-width:220px;border:0;padding:10px 18px}.client-portal-page .client-sidebar nav{padding:8px 14px 12px;overflow-x:auto;flex-direction:row}.client-portal-page .client-sidebar .nav-link{white-space:nowrap;padding:9px 12px}.client-portal-page .client-account{grid-template-columns:32px minmax(0,1fr) auto;padding:12px 16px;border-top:1px solid var(--line)}.client-portal-page .client-account-avatar{width:32px;height:32px}.client-portal-page .client-account form{grid-column:auto;grid-row:1;margin:0}.client-portal-page .client-account form .button{min-height:36px;padding:7px 12px}.client-portal-page .content{padding-top:22px}}@media(max-width:560px){.client-portal-page .client-account small{max-width:48vw}.client-portal-page .client-hero{padding:20px}.client-portal-page .client-hero-identity{align-items:flex-start;flex-direction:column}.client-portal-page .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.activity-timeline{list-style:none;margin:0;padding:0}.activity-timeline li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding:0 0 20px}.activity-timeline li:not(:last-child):before{content:"";position:absolute;left:5px;top:12px;bottom:0;width:1px;background:var(--line)}.timeline-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #e8f2ed}.timeline-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-title a{font-weight:700;overflow-wrap:anywhere}.activity-timeline small{display:block;margin-top:4px}.project-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.project-meta>span{display:grid;gap:5px;padding:14px;border-radius:10px;background:var(--pale)}.project-meta small{color:var(--muted)}.stats.compact{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:0}.stats.compact .stat{padding:14px}.stats.compact .stat strong{font-size:24px}@media(max-width:900px){.project-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gantt-filter{justify-content:flex-start}.gantt-filter label{display:flex;align-items:center;gap:10px}.gantt-range{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:0 0 8px;padding-left:min(320px,32%)}.gantt-board{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:white;min-width:700px}.gantt-row{display:grid;grid-template-columns:minmax(220px,32%) minmax(460px,1fr);min-height:88px;border-bottom:1px solid var(--line)}.gantt-row:last-child{border-bottom:0}.gantt-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:14px 18px;border-right:1px solid var(--line)}.gantt-label small{overflow-wrap:anywhere}.gantt-track{position:relative;margin:18px;background:repeating-linear-gradient(90deg,#f3f6f4 0,#f3f6f4 1px,transparent 1px,transparent 12.5%)}.gantt-bar{position:absolute;top:6px;height:24px;border-radius:6px;background:#4c9366;color:white;min-width:4px}.gantt-bar.needs_attention{background:#d5a037}.gantt-bar.at_risk{background:#c95858}.gantt-bar.complete{background:#87939a}.gantt-bar b{position:absolute;left:8px;top:4px;font-size:11px}.gantt-task{position:absolute;top:42px;height:7px;border-radius:5px;background:#7397b0;min-width:3px}.gantt-task.blocked{background:#c95858}.gantt-task.done{background:#7f9d87}.pill.satisfied{background:#e2f3e7;color:#23673b}
.readiness-overview{margin-top:18px}.readiness-meter{height:12px;background:#e8eee9;border-radius:999px;overflow:hidden;margin:14px 0 18px}.readiness-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b1842b,#3973ad,#628447);transition:width .25s ease}.pill.missing{background:#fbe8e7;color:#9d302d}.pill.requested{background:#fff2d9;color:#81570d}.pill.received,.pill.validating{background:#e8eff8;color:#245384}.pill.ready{background:#e5f3e5;color:#3f6733}.pill.not_applicable{background:#edf0ee;color:#5f6d66}
.stakeholder-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:linear-gradient(145deg,#dfece5,#cddfd5);color:var(--green);font-weight:800;border:1px solid #bdd1c4}.pill.manage_closely{background:#eee5f3;color:#68467b}.pill.keep_satisfied{background:#e6edf6;color:#395d82}.pill.keep_informed{background:#e4f1e8;color:#356a48}.pill.inactive{background:#edf0ee;color:#66706b}
.report-builder{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end}.report-builder label{display:grid;gap:6px}.generated-report{max-width:980px;margin:22px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:42px;box-shadow:0 14px 38px #183d2c12}.generated-report>header{padding-bottom:22px;border-bottom:2px solid var(--green)}.generated-report>header h1{margin:6px 0}.generated-report section{padding:22px 0;border-bottom:1px solid var(--line)}.generated-report h2{font-size:21px}.report-intro{padding:22px 0;line-height:1.7}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-metrics div{display:grid;gap:5px;padding:16px;border-radius:10px;background:var(--pale)}.report-metrics strong{font-size:28px;color:var(--green)}.generated-report footer{padding-top:24px;color:var(--muted)}.report-actions{display:flex;justify-content:center;margin:18px}@media(max-width:850px){.report-builder{grid-template-columns:1fr}.generated-report{padding:24px}.report-metrics{grid-template-columns:repeat(2,1fr)}}@media print{.sidebar,.topbar,.no-print,.report-actions{display:none!important}.app-shell,.main,.content{display:block!important;margin:0!important;padding:0!important}.generated-report{box-shadow:none;border:0;max-width:none;margin:0;padding:18mm}.generated-report section{break-inside:avoid}}
.roles-panel{margin-top:22px}.role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.role-cards article{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--pale)}.role-cards article>div{flex:1 1 180px}.role-cards h3,.role-cards p{margin:0}.role-cards p{margin-top:5px;color:var(--muted);font-size:12px}.role-form{width:min(900px,94vw)}.permission-grid{border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:52vh}.permission-head,.permission-row{display:grid;grid-template-columns:minmax(170px,1fr) repeat(4,70px);align-items:center;min-width:500px}.permission-head{position:sticky;top:0;z-index:1;background:var(--green);color:#fff}.permission-head strong,.permission-row>span,.permission-row label{padding:10px;text-align:center}.permission-head strong:first-child,.permission-row>span{text-align:left}.permission-row{border-top:1px solid var(--line)}.permission-row:nth-child(odd){background:var(--pale)}.permission-row label{display:grid;place-items:center}@media(max-width:800px){.role-cards{grid-template-columns:1fr}}
.record-row{cursor:pointer}.record-row:hover{background:#f3f8f5}.standalone-record{max-width:1100px;margin:40px auto;padding:20px}.record-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.record-detail-grid>div{padding:16px;border:1px solid var(--line,#dbe5df);border-radius:12px;background:#f8fbf9}.record-detail-grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#60766d}.record-detail-grid dd{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.record-detail-modal{width:min(980px,94vw);max-height:88vh;padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 30px 90px #09271c55}.record-detail-modal::backdrop{background:#173b2d55;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.record-detail-modal>article{padding:24px}.record-detail-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.record-detail-modal header>button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:22px;cursor:pointer}.record-detail-identity{display:flex;align-items:center;gap:16px}.record-detail-identity h2{margin:4px 0}.record-detail-identity p{margin:0;color:var(--muted)}.record-detail-logo{display:grid;place-items:center;width:78px;height:78px;flex:0 0 78px;border:1px solid var(--line);border-radius:15px;background:#f5f8f6;color:var(--green);font:700 26px 'Playfair Display',serif;overflow:hidden}.record-detail-logo img{width:68px;height:68px;object-fit:contain}.record-detail-modal .record-detail-grid{max-height:58vh;overflow:auto;margin:20px 0}.record-detail-modal .record-detail-grid dd{display:flex;align-items:center;gap:8px}.record-detail-modal .record-detail-grid a{color:var(--green);font-weight:700;text-decoration:underline;overflow-wrap:anywhere}.record-copy-button{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border:1px solid #bfd2c6;border-radius:7px;background:#fff;color:var(--green);cursor:pointer}.record-detail-modal footer{display:flex;justify-content:flex-end;padding-top:5px}@media(max-width:620px){.record-detail-modal>article{padding:18px}.record-detail-logo{width:58px;height:58px;flex-basis:58px}.record-detail-logo img{width:50px;height:50px}.record-detail-modal .record-detail-grid{grid-template-columns:1fr}}
.stat.indicator-style-compact{padding:13px 16px;grid-template-columns:1fr auto;align-items:center}.stat.indicator-style-compact strong{font-size:24px}.stat.indicator-style-accent{background:linear-gradient(145deg,var(--pale),#fff);border-left:5px solid var(--green)}.layout-editing{outline:2px dashed #3f8461;outline-offset:3px;cursor:grab;position:relative}.layout-editing:active{cursor:grabbing}.client-layout-actions{margin-top:8px}
.rankings-filters{justify-content:flex-start}.rankings-filters select{min-width:180px}.rankings-overview{margin-bottom:22px}.ranking-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.ranking-result-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#f6faf7,#fff);color:var(--ink)}.ranking-result-card:hover{text-decoration:none;border-color:#9dbbac;box-shadow:0 10px 24px #17392c12;transform:translateY(-1px)}.ranking-result-card>img{width:58px;height:58px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:5px}.ranking-result-card>div:not(.ranking-values){display:grid;gap:4px;min-width:0}.ranking-result-card strong{font-size:16px}.ranking-result-card span,.ranking-result-card small{color:var(--muted)}.ranking-values{display:grid;justify-items:end;gap:3px;min-width:90px}.ranking-values b{font:700 28px 'Playfair Display',serif;color:var(--green)}.ranking-values span{font-size:12px}@media(max-width:620px){.ranking-result-card{grid-template-columns:48px minmax(0,1fr)}.ranking-result-card>img{width:48px;height:48px}.ranking-values{grid-column:1/-1;justify-items:start;border-top:1px solid var(--line);padding-top:10px}}
.verification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin:16px 0}.verification-item{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}.verification-item>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;font-weight:800}.verification-item.passed>span{background:#e2f3e7;color:#23673b}.verification-item.failed>span{background:#f8dfe1;color:#982e39}.verification-item div{display:grid;gap:3px}.verification-item small{color:var(--muted);line-height:1.4}
.linked-record-creator{border:1px solid #cddfd7;border-radius:14px;padding:16px;margin:4px 0;background:#f6faf8}.linked-record-creator legend{padding:0 8px;font-weight:700;color:#174f3e}.linked-record-creator>.check{margin-bottom:12px}.linked-record-creator [hidden]{display:none!important}
/* Unified minimal interface */
:root{--bg:#f6f8f7;--ink:#173d31;--muted:#607269;--line:#dbe3de;--green:#116149;--pale:#edf3ef;--ui-radius:12px}.panel,.table-card,.stat,.portal-card,.doc-card,.file-card,.document-editor,dialog{border-radius:var(--ui-radius);box-shadow:0 3px 14px #173d2c08}.button,input,select,textarea,.field-config-card,.nav-link{border-radius:9px}.content{display:flow-root}.content>.panel,.content>section.panel,.content>.table-card,.content>.dashboard-grid,.content>.stats,.content>.toolbar,.content>.ranking-filter-panel{margin-bottom:28px}.dashboard-grid>.panel{margin-bottom:0}.panel{padding:26px}.panel-head{margin-bottom:20px}.command-center-heading{min-height:auto;padding:24px 26px;border-radius:var(--ui-radius);background:#fff;box-shadow:none}.command-center-heading:before,.command-center-heading:after,.command-center-visual{display:none}.content[data-panel="dashboard"] .panel:hover{border-color:var(--line)}.content[data-panel="dashboard"] .stats .stat:hover{transform:translateY(-2px);box-shadow:0 8px 20px #173d2c10}.important-link-card,.important-link-card.link-tone-1,.important-link-card.link-tone-2,.important-link-card.link-tone-3,.important-link-card.link-tone-4{min-height:128px;border:1px solid var(--line);border-radius:var(--ui-radius);background:#f0f5f2;box-shadow:none}.important-link-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #173d2c10}.important-link-card>a.important-link-cover{min-height:128px;padding:17px}.important-link-cover .important-link-icon{width:42px;height:42px;border-radius:10px}.important-link-cover strong{font-size:17px}.important-link-view{border-radius:8px;backdrop-filter:none}.compact-notes{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}.compact-notes .sticky-note{min-height:112px;padding:0;border-radius:8px;transform:none!important;box-shadow:0 4px 12px #173d2c0d}.sticky-note-cover{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;width:100%;min-height:112px;padding:16px;border:0;background:transparent;color:var(--ink);text-align:left}.sticky-note-cover small{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.sticky-note-cover strong{font:700 16px 'Playfair Display',serif}.sticky-note-cover span{position:absolute;right:10px;top:8px}.sticky-note-detail{width:min(560px,92vw);padding:0;border:0;overflow:hidden}.sticky-note-detail::backdrop{background:#173b2d55;backdrop-filter:blur(8px)}.sticky-note-detail>article{padding:25px}.sticky-note-detail header{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #00000012;padding-bottom:16px}.sticky-note-detail header h2{margin:4px 0}.sticky-note-detail header span{font-size:12px;color:var(--muted)}.sticky-note-detail header>button{width:34px;height:34px;border:1px solid #00000018;border-radius:8px;background:#fff;font-size:20px}.sticky-note-detail>article>p{min-height:100px;padding:18px 0;white-space:pre-wrap}.sticky-note-detail footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #00000012;padding-top:17px}.sticky-note-detail footer form{margin:0}.note-complete-action label{display:flex;align-items:center;gap:8px}.section-toggle{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green)}.section-toggle span{transition:transform .18s ease}.section-collapsed>.panel-head{margin-bottom:0}.section-collapsed>.panel-head .section-toggle span{transform:rotate(180deg)}.section-collapsed>:not(.panel-head){display:none!important}.ranking-filter-panel{border:1px solid var(--line);border-radius:var(--ui-radius);background:#fff}.ranking-filter-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;font-weight:700;list-style:none}.ranking-filter-panel summary::-webkit-details-marker{display:none}.ranking-filter-panel[open] summary{border-bottom:1px solid var(--line)}.ranking-filter-panel form{padding:16px 18px;margin:0}.ranking-filter-panel select{flex:1 1 180px}.rankings-latest,.ranking-history-panel{margin-top:0}.rankings-overview{display:none!important}@media(max-width:620px){.content>.panel,.content>section.panel,.content>.table-card,.content>.dashboard-grid,.content>.stats,.content>.toolbar,.content>.ranking-filter-panel{margin-bottom:20px}.panel{padding:19px}.compact-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-note-detail footer{align-items:stretch;flex-direction:column}.sticky-note-detail footer form,.sticky-note-detail footer .button{width:100%}}
.calendar-connections summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.calendar-connections summary::-webkit-details-marker{display:none}.calendar-connections[open] summary{margin-bottom:16px}
.calendar-panel{overflow:hidden}.calendar-toolbar,.calendar-month-nav,.calendar-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-toolbar{justify-content:space-between;margin-bottom:16px}.calendar-month-nav h2{min-width:180px;margin:0;text-align:center}.calendar-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto auto;gap:10px;align-items:end;padding:14px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:var(--pale)}.calendar-filters label{display:grid;gap:6px}.calendar-filters label span{font-size:12px;font-weight:700}.calendar-legend{margin:0 0 14px;color:var(--muted);font-size:12px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-dot{width:10px;height:10px;border-radius:3px}.calendar-grid{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px}.calendar-weekdays{background:#edf4f0;border-bottom:1px solid var(--line)}.calendar-weekdays div{padding:10px 12px;font-size:12px;font-weight:800;color:#49645a;text-transform:uppercase;letter-spacing:.05em}.calendar-day{min-height:148px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#f7f8f7}.calendar-day.outside .calendar-day-number{opacity:.45}.calendar-day.today{background:#f3faf5;box-shadow:inset 0 0 0 2px #4c9366}.calendar-day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-weight:800}.calendar-day-number small{padding:2px 6px;border-radius:999px;background:#dff1e5;color:#24633d;font-size:9px;text-transform:uppercase}.calendar-day-events{display:grid;gap:5px}.calendar-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 6px;padding:6px 7px;border-left:4px solid;border-radius:7px;background:#eef4f1;color:#183f32;font-size:10px;line-height:1.25}.calendar-event:hover{text-decoration:none;filter:brightness(.97)}.calendar-event time{grid-row:1/3;font-weight:800}.calendar-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{opacity:.72;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-meeting{--event-color:#3973ad;border-color:#3973ad;background:#e7f0f9}.event-task{--event-color:#4c9366;border-color:#4c9366;background:#e5f3e9}.event-project{--event-color:#744b86;border-color:#744b86;background:#eee6f2}.event-ranking{--event-color:#b1842b;border-color:#b1842b;background:#f8efd9}.event-commitment{--event-color:#c16d35;border-color:#c16d35;background:#f8e9df}.event-deliverable{--event-color:#238489;border-color:#238489;background:#dff1f2}.event-risk{--event-color:#c95858;border-color:#c95858;background:#f8e4e5}.event-change{--event-color:#7b6a52;border-color:#7b6a52;background:#eeeae5}.event-readiness{--event-color:#637f42;border-color:#637f42;background:#e9efdf}.calendar-dot[class*="event-"]{background:var(--event-color);border:0}.calendar-empty{margin-top:14px}@media(max-width:900px){.calendar-filters{grid-template-columns:1fr 1fr}.calendar-filters label:first-of-type{grid-column:1/-1}}@media(max-width:620px){.calendar-toolbar{align-items:flex-start}.calendar-month-nav h2{min-width:135px;font-size:19px}.calendar-filters{grid-template-columns:1fr}.calendar-filters label:first-of-type{grid-column:auto}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(115px,1fr));min-width:805px}.calendar-day{min-height:125px}}
/* 2026 interaction and workflow refinement */
.panel-head>.button{margin-left:auto}.panel-title-link{color:inherit;text-decoration:none;border-radius:8px}.panel-title-link:hover h3{color:var(--accent);transform:translateX(3px)}.panel-title-link h3{transition:.18s ease}
.client-name-cell{padding:5px;border-radius:10px;transition:transform .18s ease,background .18s ease}.record-row:hover .client-name-cell{transform:translateX(3px);background:rgba(20,94,70,.055)}
.multi-client-picker{border:1px solid var(--line);border-radius:12px;padding:0;background:#fff}.multi-client-picker summary{cursor:pointer;padding:12px 14px;font-weight:700;display:flex;justify-content:space-between}.multi-client-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px 12px 12px;max-height:250px;overflow:auto}.multi-client-options .check{border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--surface-soft)}.multi-client-options small{margin-left:auto}
.ranking-result-card,.ranking-card{transition:transform .2s ease,box-shadow .2s ease}.ranking-result-card:hover,.ranking-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(18,55,43,.10)}
.record-row{transition:background .16s ease,transform .16s ease}.record-row:hover{background:rgba(20,94,70,.035)}
@media(max-width:720px){.multi-client-options{grid-template-columns:1fr}}

/* Command Center visual refresh, calm, minimal, but no longer flat. */
.content[data-panel="dashboard"]{--dash-blue:#3973ad;--dash-gold:#b1842b;--dash-sage:#4f8b67}.content[data-panel="dashboard"] .command-center-heading{position:relative;min-height:180px;padding:34px 38px;overflow:hidden;border:0;border-radius:22px;background:linear-gradient(118deg,#0e503e 0%,#14634b 58%,#28755d 100%);box-shadow:0 20px 48px rgba(17,80,61,.18);color:#fff}.content[data-panel="dashboard"] .command-center-heading:before{content:"";display:block;position:absolute;inset:auto -54px -115px auto;width:285px;height:285px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:radial-gradient(circle at 38% 35%,rgba(255,255,255,.18) 0 8%,transparent 9%),repeating-radial-gradient(circle,transparent 0 31px,rgba(255,255,255,.08) 32px 33px)}.content[data-panel="dashboard"] .command-center-heading:after{content:"";display:block;position:absolute;right:190px;top:-70px;width:150px;height:240px;border-radius:100px;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent);transform:rotate(34deg)}.content[data-panel="dashboard"] .command-center-heading .eyebrow,.content[data-panel="dashboard"] .command-center-heading p{color:rgba(255,255,255,.78)}.content[data-panel="dashboard"] .command-center-heading h1{font-size:clamp(34px,4vw,52px);letter-spacing:-.025em}.content[data-panel="dashboard"] .command-center-heading>.button{display:none}.content[data-panel="dashboard"] .command-center-visual{position:relative;z-index:1;display:flex;align-items:flex-end;gap:10px;margin-left:auto;padding:20px 28px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.content[data-panel="dashboard"] .command-center-visual i{width:13px;background:linear-gradient(#f5d99c,#fff);box-shadow:0 5px 20px rgba(0,0,0,.15)}
.content[data-panel="dashboard"] .summary-section>h3{margin:4px 0 14px;font-size:14px;font-family:inherit;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.content[data-panel="dashboard"] .stats{gap:18px}.content[data-panel="dashboard"] .stat{position:relative;min-height:150px;padding:24px 24px 20px;overflow:hidden;border:0;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(28,70,53,.09);text-decoration:none}.content[data-panel="dashboard"] .stat:before{content:"";display:grid;place-items:center;width:46px;height:46px;margin-bottom:12px;border-radius:14px;background:#e8f2ed;color:var(--green);font-size:22px;font-weight:800}.content[data-panel="dashboard"] .stat:after{content:"";position:absolute;right:-27px;bottom:-37px;width:112px;height:112px;border:18px solid rgba(17,97,73,.055);border-radius:50%;transition:transform .25s ease}.content[data-panel="dashboard"] .stat:hover:after{transform:scale(1.15) rotate(12deg)}.content[data-panel="dashboard"] .stat[data-indicator="projects"]:before{content:"▱"}.content[data-panel="dashboard"] .stat[data-indicator="tasks"]:before{content:"✓";background:#edf1fa;color:var(--dash-blue)}.content[data-panel="dashboard"] .stat[data-indicator="clients"]:before{content:"◉";background:#f7f0df;color:var(--dash-gold)}.content[data-panel="dashboard"] .stat[data-indicator="documents"]:before{content:"▤";background:#efe9f5;color:#75538a}.content[data-panel="dashboard"] .stat span{position:absolute;left:82px;top:28px;font-weight:700;color:#607269}.content[data-panel="dashboard"] .stat strong{font:700 38px 'Playfair Display',serif;line-height:1}
.content[data-panel="dashboard"] .dashboard-grid{gap:20px}.content[data-panel="dashboard"] .dashboard-grid>.panel,.content[data-panel="dashboard"]>.important-links-panel,.content[data-panel="dashboard"]>.sticky-notes-panel{border:0;border-radius:18px;box-shadow:0 10px 32px rgba(30,69,54,.075)}.content[data-panel="dashboard"] .dashboard-grid>.panel{min-height:220px;background:linear-gradient(150deg,#fff 72%,#f0f6f2)}.content[data-panel="dashboard"] .dashboard-grid>.panel .panel-head:before{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#e8f2ed;color:var(--green);font-size:18px}.content[data-panel="dashboard"] .dashboard-grid>.panel[data-section="tasks"] .panel-head:before{content:"✓"}.content[data-panel="dashboard"] .dashboard-grid>.panel[data-section="meetings"] .panel-head:before{content:"□";background:#edf1fa;color:var(--dash-blue)}.content[data-panel="dashboard"] .dashboard-grid>.panel .panel-title-link{margin-right:auto}.content[data-panel="dashboard"] .empty{display:grid;place-items:center;min-height:105px;margin:10px 0 0;border:1px dashed #d5e2da;border-radius:13px;background:rgba(247,250,248,.72);padding:20px}
.section-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.section-actions .button{min-height:34px;padding:7px 12px;border-color:#d6e1da;background:#f8fbf9}.content[data-panel="dashboard"]>.important-links-panel,.content[data-panel="dashboard"]>.sticky-notes-panel{padding:28px 30px;background:linear-gradient(140deg,#fff,#f9fbfa)}.content[data-panel="dashboard"]>.important-links-panel .panel-head,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head{align-items:center}.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:before,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:before{content:"↗";float:left;display:grid;place-items:center;width:42px;height:42px;margin-right:13px;border-radius:13px;background:#e8f2ed;color:var(--green);font-size:20px;font-weight:800}.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:before{content:"✦";background:#fff2bf;color:#8a6818}.content[data-panel="dashboard"]>.important-links-panel .panel-head h2,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head h2{margin-top:1px}.content[data-panel="dashboard"] .important-link-card{min-height:158px;border:0;border-radius:17px;background:linear-gradient(145deg,#edf5f0,#dcebe2);box-shadow:inset 0 0 0 1px rgba(22,80,61,.06),0 8px 20px rgba(25,71,53,.08)}.content[data-panel="dashboard"] .important-link-card:after{content:"";position:absolute;right:-25px;bottom:-28px;width:84px;height:84px;border:13px solid rgba(255,255,255,.42);border-radius:50%}.content[data-panel="dashboard"] .important-link-card.link-tone-1{background:linear-gradient(145deg,#e9f0f9,#d8e4f1)}.content[data-panel="dashboard"] .important-link-card.link-tone-2{background:linear-gradient(145deg,#faf1dc,#eeddb7)}.content[data-panel="dashboard"] .important-link-card.link-tone-3{background:linear-gradient(145deg,#f2eaf6,#e3d5eb)}.content[data-panel="dashboard"] .important-link-card.link-tone-4{background:linear-gradient(145deg,#f8e9e5,#eed3cc)}.content[data-panel="dashboard"] .important-link-card>a.important-link-cover{min-height:158px}.content[data-panel="dashboard"] .important-link-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(24,66,50,.14)}.content[data-panel="dashboard"] .sticky-note{border:0!important;box-shadow:0 8px 20px rgba(90,72,23,.10)!important;transition:transform .2s ease,box-shadow .2s ease}.content[data-panel="dashboard"] .sticky-note:hover{transform:translateY(-4px)!important;box-shadow:0 15px 28px rgba(90,72,23,.16)!important}
.file-card,.portal-card{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.file-card:before,.portal-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--green),#74a187)}.file-card:hover,.portal-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(24,67,51,.13)}.record-detail-modal>article{background:linear-gradient(155deg,#fff 68%,#f2f7f4)}
@media(max-width:700px){.content[data-panel="dashboard"] .command-center-heading{padding:26px;min-height:160px}.content[data-panel="dashboard"] .command-center-visual{display:none}.content[data-panel="dashboard"] .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content[data-panel="dashboard"] .stat{min-height:135px;padding:18px}.content[data-panel="dashboard"] .stat span{left:72px;top:23px}.content[data-panel="dashboard"]>.important-links-panel,.content[data-panel="dashboard"]>.sticky-notes-panel{padding:21px}.section-actions{width:auto!important}.content[data-panel="dashboard"]>.important-links-panel .panel-head,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head{flex-direction:row}}
.one-click-link{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--green);text-decoration:none}.one-click-link:hover{text-decoration:underline}.one-click-link:after{content:"↗";font-size:12px}.record-detail-modal a[href]{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Ranking intelligence suite */
.record-detail-grid>.record-detail-wide{grid-column:1/-1;background:linear-gradient(145deg,#f7faf8,#eef5f1)}.record-detail-grid>.record-detail-wide dd{display:block!important;line-height:1.7;white-space:pre-wrap}.record-detail-modal .record-detail-grid{align-items:start}.record-detail-modal .record-detail-grid>div{min-height:104px}.record-detail-modal .record-detail-grid>.record-detail-wide{min-height:0}.record-detail-modal .record-detail-grid>.record-detail-wide span{display:block;width:100%}
.content[data-panel="ranking_frameworks"],.content[data-panel="ranking_results"],.content[data-panel="rankings_dashboard"]{--ranking-blue:#315f8c;--ranking-gold:#b1842b;--ranking-violet:#725482}.content[data-panel="ranking_frameworks"]>.page-heading,.content[data-panel="ranking_results"]>.page-heading{position:relative;overflow:hidden;padding:30px 32px;border:1px solid #d8e4dc;border-radius:20px;background:linear-gradient(125deg,#fff 0%,#f0f6f2 70%,#e4efe8 100%);box-shadow:0 12px 35px rgba(23,61,49,.07)}.content[data-panel="ranking_frameworks"]>.page-heading:after,.content[data-panel="ranking_results"]>.page-heading:after{content:"";position:absolute;right:-45px;bottom:-65px;width:190px;height:190px;border:24px solid rgba(17,97,73,.055);border-radius:50%}.content[data-panel="ranking_frameworks"]>.page-heading>*,.content[data-panel="ranking_results"]>.page-heading>*{position:relative;z-index:1}.content[data-panel="ranking_frameworks"]>.page-heading h1,.content[data-panel="ranking_results"]>.page-heading h1{font-size:clamp(32px,4vw,47px)}
.content[data-panel="ranking_frameworks"]>.toolbar,.content[data-panel="ranking_results"]>.toolbar{margin-top:24px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(23,61,49,.045)}.content[data-panel="ranking_frameworks"]>.table-card,.content[data-panel="ranking_results"]>.table-card{overflow:hidden;border:0;border-radius:18px;box-shadow:0 14px 38px rgba(23,61,49,.09)}.content[data-panel="ranking_frameworks"] table thead,.content[data-panel="ranking_results"] table thead{background:linear-gradient(90deg,#174f3e,#236b54);color:#fff}.content[data-panel="ranking_frameworks"] table th,.content[data-panel="ranking_results"] table th{padding-top:15px;padding-bottom:15px;letter-spacing:.055em}.content[data-panel="ranking_frameworks"] table tbody tr,.content[data-panel="ranking_results"] table tbody tr{transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.content[data-panel="ranking_frameworks"] table tbody tr:nth-child(even),.content[data-panel="ranking_results"] table tbody tr:nth-child(even){background:#f8fbf9}.content[data-panel="ranking_frameworks"] table tbody tr:hover,.content[data-panel="ranking_results"] table tbody tr:hover{position:relative;z-index:1;background:#eef6f1;box-shadow:inset 4px 0 var(--ranking-gold)}.content[data-panel="ranking_frameworks"] table td,.content[data-panel="ranking_results"] table td{padding-top:16px;padding-bottom:16px}.ranking-identity-cell img{width:48px!important;height:48px!important;padding:5px;border:1px solid #d8e4dc;border-radius:12px;background:#fff;object-fit:contain}.ranking-identity-cell .client-initial,.ranking-university-cell>span{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:linear-gradient(145deg,#1b664f,#0e4939);color:#fff;font:700 15px 'Playfair Display',serif}.ranking-university-cell{display:flex;align-items:center;gap:12px;min-width:210px}.ranking-university-cell strong{font-size:14px}.content[data-panel="ranking_results"] td:nth-child(4) .cell-text{display:inline-flex;padding:7px 12px;border-radius:999px;background:#edf4ef;color:#155740;font-weight:800}.content[data-panel="ranking_results"] td:nth-child(5) .cell-text{font:700 23px 'Playfair Display',serif;color:var(--green)}
.rankings-hero{position:relative;min-height:235px;overflow:hidden;padding:42px 44px;border:0;border-radius:24px;background:linear-gradient(118deg,#103f34 0%,#155c48 58%,#28755d 100%);box-shadow:0 22px 55px rgba(16,66,51,.2);color:#fff}.rankings-hero:before{content:"";position:absolute;right:55px;top:-105px;width:330px;height:330px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 39px,rgba(255,255,255,.065) 40px 41px)}.rankings-hero:after{content:"↗";position:absolute;right:145px;top:58px;color:rgba(255,255,255,.12);font:700 105px Georgia,serif;transform:rotate(-8deg)}.rankings-hero>div{position:relative;z-index:1;max-width:720px}.rankings-hero h1{font-size:clamp(38px,5vw,58px);letter-spacing:-.03em}.rankings-hero p,.rankings-hero .eyebrow{color:rgba(255,255,255,.78)}.rankings-hero .action-cluster{align-self:flex-end;justify-content:flex-end}.rankings-hero .button.secondary{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(7px)}.rankings-hero .button.primary{background:#fff;color:#10513f}.content[data-panel="rankings_dashboard"]>.ranking-filter-panel{margin-top:26px;border:0;border-radius:16px;box-shadow:0 8px 25px rgba(23,61,49,.08)}.content[data-panel="rankings_dashboard"]>.ranking-filter-panel summary{padding:18px 22px}.content[data-panel="rankings_dashboard"]>.stats{gap:16px;margin:24px 0 28px}.content[data-panel="rankings_dashboard"]>.stats .stat{position:relative;min-height:138px;overflow:hidden;padding:23px;border:0;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(23,61,49,.08)}.content[data-panel="rankings_dashboard"]>.stats .stat:before{content:"";display:block;width:38px;height:5px;margin-bottom:22px;border-radius:5px;background:linear-gradient(90deg,var(--green),#7fac91)}.content[data-panel="rankings_dashboard"]>.stats .stat:nth-child(2):before{background:linear-gradient(90deg,var(--ranking-blue),#86a9ca)}.content[data-panel="rankings_dashboard"]>.stats .stat:nth-child(3):before{background:linear-gradient(90deg,var(--ranking-gold),#e2c77f)}.content[data-panel="rankings_dashboard"]>.stats .stat:nth-child(4):before{background:linear-gradient(90deg,var(--ranking-violet),#b59ac3)}.content[data-panel="rankings_dashboard"]>.stats .stat:after{content:"";position:absolute;right:-29px;bottom:-38px;width:108px;height:108px;border:17px solid rgba(17,97,73,.045);border-radius:50%}.content[data-panel="rankings_dashboard"]>.stats .stat strong{font:700 36px 'Playfair Display',serif}.rankings-latest,.ranking-history-panel{border:0!important;border-radius:20px!important;box-shadow:0 13px 38px rgba(23,61,49,.08)!important}.ranking-card-grid{grid-template-columns:repeat(auto-fill,minmax(355px,1fr));gap:18px}.ranking-result-card{position:relative;grid-template-columns:76px minmax(0,1fr) auto;min-height:165px;padding:22px;overflow:hidden;border:0;border-radius:18px;background:linear-gradient(140deg,#fff 58%,#edf5f0);box-shadow:inset 0 0 0 1px rgba(23,61,49,.07),0 8px 24px rgba(23,61,49,.08);transition:transform .2s ease,box-shadow .2s ease}.ranking-result-card:after{content:"";position:absolute;right:-35px;bottom:-48px;width:125px;height:125px;border:18px solid rgba(17,97,73,.05);border-radius:50%}.ranking-result-card:hover{transform:translateY(-5px);border-color:transparent;box-shadow:0 18px 38px rgba(23,61,49,.15)}.ranking-logo-wrap{display:grid;place-items:center;width:76px;height:76px;border:1px solid #dbe5df;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(23,61,49,.07)}.ranking-logo-wrap img{width:65px;height:65px;object-fit:contain}.ranking-logo-wrap span{font:700 22px 'Playfair Display',serif;color:var(--green)}.ranking-card-copy{gap:5px!important}.ranking-card-copy strong{font:700 19px 'Playfair Display',serif}.ranking-values{position:relative;z-index:1}.ranking-values b{font-size:38px}.ranking-history-grid{gap:18px}.ranking-history-card{position:relative;overflow:hidden;border:0!important;border-radius:18px!important;background:linear-gradient(145deg,#fff,#f3f7f5)!important;box-shadow:0 9px 28px rgba(23,61,49,.085);transition:transform .2s ease,box-shadow .2s ease}.ranking-history-card:hover{transform:translateY(-4px);box-shadow:0 17px 36px rgba(23,61,49,.14)}.ranking-history-card>img{width:70px!important;height:70px!important;padding:6px;border-radius:15px!important;background:#fff;box-shadow:0 5px 16px rgba(23,61,49,.08)}.ranking-spark{height:100px!important;padding:13px 10px 0;border-radius:13px;background:linear-gradient(180deg,#eff6f2,transparent)}.ranking-spark span{min-width:12px;border-radius:6px 6px 2px 2px;background:linear-gradient(#76a88e,#175f49)!important}.ranking-periods{padding-top:12px;border-top:1px solid #dce6e0}
.ranking-spark.ranking-line-ready{height:150px!important;padding:12px 10px 5px;background:linear-gradient(180deg,#f0f7f3 0%,rgba(240,247,243,.22) 100%);border-bottom:0}.ranking-line-chart{display:block;width:100%;height:100%;overflow:visible}.ranking-line-grid{stroke:#d7e5dd;stroke-width:.65;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.ranking-line-path{fill:none;stroke:#176449;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 2px rgba(23,100,73,.16));vector-effect:non-scaling-stroke}.ranking-line-point{fill:#fff;stroke:#176449;stroke-width:2;cursor:help;transition:r .18s ease,fill .18s ease;vector-effect:non-scaling-stroke}.ranking-line-point:hover,.ranking-line-point:focus{r:3.6;fill:#d9b45b;outline:0}.ranking-periods{justify-content:space-between}.ranking-periods b{flex:1;min-width:72px}
@media(max-width:760px){.rankings-hero{min-height:0;padding:28px 24px}.rankings-hero:before,.rankings-hero:after{display:none}.rankings-hero .action-cluster{justify-content:flex-start}.ranking-card-grid{grid-template-columns:1fr}.ranking-result-card{grid-template-columns:62px minmax(0,1fr)}.ranking-logo-wrap{width:62px;height:62px}.ranking-logo-wrap img{width:52px;height:52px}.ranking-result-card .ranking-values{grid-column:1/-1;justify-items:start}.content[data-panel="ranking_frameworks"]>.page-heading,.content[data-panel="ranking_results"]>.page-heading{padding:24px}}

/* Unified application surfaces */
.content{--module-accent:#116149;--module-soft:#eaf3ee;--hero-symbol:"✦"}.content[data-panel="clients"]{--module-accent:#3973ad;--module-soft:#e8f0f8;--hero-symbol:"◉"}.content[data-panel="projects"],.content[data-panel="project_view"]{--module-accent:#18715a;--module-soft:#e6f2ed;--hero-symbol:"◇"}.content[data-panel="tasks"]{--module-accent:#5d6fa8;--module-soft:#eceff8;--hero-symbol:"✓"}.content[data-panel="meetings"],.content[data-panel="calendar"]{--module-accent:#8a6230;--module-soft:#f6eddf;--hero-symbol:"□"}.content[data-panel="commitments"]{--module-accent:#8b5b72;--module-soft:#f5eaf0;--hero-symbol:"∞"}.content[data-panel="deliverables"],.content[data-panel="documents"]{--module-accent:#725482;--module-soft:#f0eaf4;--hero-symbol:"▤"}.content[data-panel="risks"],.content[data-panel="attention"]{--module-accent:#a44d45;--module-soft:#f8e9e7;--hero-symbol:"!"}.content[data-panel="change_requests"]{--module-accent:#a36828;--module-soft:#f8eddf;--hero-symbol:"↻"}.content[data-panel="dependencies"],.content[data-panel="gantt"]{--module-accent:#387b79;--module-soft:#e7f2f1;--hero-symbol:"⌁"}.content[data-panel="ranking_frameworks"],.content[data-panel="ranking_results"],.content[data-panel="rankings_dashboard"],.content[data-panel="ranking_benchmarks"],.content[data-panel="competitors"]{--module-accent:#315f8c;--module-soft:#e8eff6;--hero-symbol:"↗"}.content[data-panel="methodologies"],.content[data-panel="ranking_readiness"]{--module-accent:#648049;--module-soft:#edf3e7;--hero-symbol:"◆"}.content[data-panel="stakeholders"],.content[data-panel="research_partners"]{--module-accent:#7a5782;--module-soft:#f0eaf3;--hero-symbol:"◎"}.content[data-panel="reports"],.content[data-panel="report_templates"],.content[data-panel="project_templates"]{--module-accent:#8c6a2e;--module-soft:#f6efdf;--hero-symbol:"▥"}.content[data-panel="whatsapp"]{--module-accent:#21865f;--module-soft:#e5f4ed;--hero-symbol:"◌"}.content[data-panel="settings"],.content[data-panel="users"],.content[data-panel="workspaces"],.content[data-panel="audit"]{--module-accent:#596d64;--module-soft:#edf1ef;--hero-symbol:"⚙"}
.content>.page-heading:not(.rankings-hero):not(.command-center-heading){position:relative;isolation:isolate;min-height:168px;margin-bottom:26px;padding:30px 34px;overflow:hidden;border:1px solid color-mix(in srgb,var(--module-accent) 18%,#dbe5df);border-radius:20px;background:linear-gradient(125deg,#fff 0%,var(--module-soft) 100%);box-shadow:0 12px 34px rgba(23,61,49,.075)}.content>.page-heading:not(.rankings-hero):not(.command-center-heading):before{content:var(--hero-symbol);position:absolute;z-index:-1;right:54px;top:25px;display:grid;place-items:center;width:98px;height:98px;border-radius:27px;background:color-mix(in srgb,var(--module-accent) 12%,#fff);color:color-mix(in srgb,var(--module-accent) 46%,transparent);font:700 46px Georgia,serif;transform:rotate(-7deg)}.content>.page-heading:not(.rankings-hero):not(.command-center-heading):after{content:"";position:absolute;z-index:-2;right:-55px;bottom:-95px;width:230px;height:230px;border:24px solid color-mix(in srgb,var(--module-accent) 7%,transparent);border-radius:50%}.content>.page-heading:not(.rankings-hero):not(.command-center-heading)>*{position:relative;z-index:1}.content>.page-heading:not(.rankings-hero):not(.command-center-heading) h1{margin-bottom:8px;font-size:clamp(32px,4vw,46px);letter-spacing:-.025em}.content>.page-heading:not(.rankings-hero):not(.command-center-heading) p{max-width:760px}.content>.page-heading .action-cluster{max-width:48%;justify-content:flex-end}
.content>.toolbar{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 17px rgba(23,61,49,.045)}.content>.table-card{overflow:hidden;border:0;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(23,61,49,.085)}.content>.table-card table{border-collapse:separate;border-spacing:0}.content>.table-card thead{background:linear-gradient(90deg,color-mix(in srgb,var(--module-accent) 86%,#153f32),var(--module-accent));color:#fff}.content>.table-card thead th{padding-top:15px;padding-bottom:15px;border-color:rgba(255,255,255,.12);font-size:11px;letter-spacing:.06em}.content>.table-card tbody tr{transition:background .18s ease,box-shadow .18s ease}.content>.table-card tbody tr:nth-child(even){background:color-mix(in srgb,var(--module-soft) 35%,#fff)}.content>.table-card tbody tr:hover{position:relative;z-index:1;background:var(--module-soft);box-shadow:inset 4px 0 var(--module-accent)}.content>.table-card tbody td{padding-top:15px;padding-bottom:15px}.content>.table-card .row-actions{opacity:.62;transform:translateX(5px);transition:opacity .18s ease,transform .18s ease}.content>.table-card tbody tr:hover .row-actions,.content>.table-card tbody tr:focus-within .row-actions{opacity:1;transform:none}.content>.table-card tbody tr.record-row{cursor:pointer}.content>.table-card tbody tr.record-row:focus{outline:2px solid var(--module-accent);outline-offset:-2px}
.sidebar .nav-link{position:relative;gap:11px;margin:2px 8px;padding:9px 11px;border-radius:11px;transition:background .16s ease,color .16s ease,transform .16s ease}.sidebar .nav-link .nav-icon{width:19px;height:19px;flex:0 0 19px;padding:3px;box-sizing:content-box;border-radius:8px;background:#edf3ef;color:#345e4f;transition:background .16s ease,color .16s ease,transform .16s ease}.sidebar .nav-link:hover{transform:translateX(3px);background:#f3f7f5}.sidebar .nav-link:hover .nav-icon{transform:rotate(-4deg) scale(1.06)}.sidebar .nav-link.active{background:linear-gradient(100deg,#e5f1eb,#f3f8f5);box-shadow:inset 3px 0 #116149;color:#104f3d;font-weight:700}.sidebar .nav-link.active .nav-icon{background:#116149;color:#fff}
.content[data-panel="dashboard"] .stat[data-indicator="projects"]:before{content:"◇"}.content[data-panel="dashboard"] .stat[data-indicator="tasks"]:before{content:"✓"}.content[data-panel="dashboard"] .stat[data-indicator="clients"]:before{content:"◉"}.content[data-panel="dashboard"] .stat[data-indicator="documents"]:before{content:"▤"}.content[data-panel="dashboard"] .dashboard-grid>.panel[data-section="tasks"] .panel-head:before{content:"✓"}.content[data-panel="dashboard"] .dashboard-grid>.panel[data-section="meetings"] .panel-head:before{content:"□"}.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:before{content:"↗"}.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:before{content:"✦"}
@media(max-width:760px){.content>.page-heading:not(.rankings-hero):not(.command-center-heading){min-height:0;padding:24px}.content>.page-heading:not(.rankings-hero):not(.command-center-heading):before{right:16px;top:14px;width:64px;height:64px;font-size:30px;opacity:.55}.content>.page-heading .action-cluster{max-width:none;justify-content:flex-start}.content>.table-card .row-actions{opacity:1;transform:none}}
.reminder-recipient-picker{padding:18px;border:1px solid #cfddd4;border-radius:14px;background:linear-gradient(145deg,#f9fbfa,#eef5f1)}.reminder-recipient-picker legend{padding:0 8px;font:700 18px 'Playfair Display',serif;color:var(--ink)}.reminder-recipient-picker>p{margin:0 0 14px}.reminder-stakeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}.reminder-stakeholder-grid label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #d8e3dc;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.reminder-stakeholder-grid label:hover{transform:translateY(-1px);border-color:#8eb19e}.reminder-stakeholder-grid label>span{display:grid;gap:2px}.reminder-stakeholder-grid small{overflow-wrap:anywhere;color:var(--muted)}.reminder-recipient-picker textarea{min-height:72px}@media(max-width:620px){.reminder-stakeholder-grid{grid-template-columns:1fr}}
.meeting-attendee-picker{padding:19px;border:1px solid #cadbd2;border-radius:14px;background:linear-gradient(145deg,#fff,#edf5f1)}.meeting-attendee-picker legend{padding:0 8px;font:700 19px 'Playfair Display',serif;color:var(--ink)}.meeting-attendee-picker>p{margin:0 0 14px}.meeting-attendee-picker textarea{min-height:72px}.meeting-attendee-picker .attendee-count{display:inline-flex;margin-top:11px;padding:6px 10px;border-radius:999px;background:#e1eee7;color:#145943;font-size:12px;font-weight:800}.meeting-stakeholder-grid input:checked+span strong{color:#0c6147}.meeting-stakeholder-grid label:has(input:checked){border-color:#69a087;background:#eaf5ef;box-shadow:inset 3px 0 #116149}

/* Compact role editor: use horizontal space instead of a tall inner scroller. */
#role-modal{width:min(1180px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:auto}#role-modal .role-form{width:auto;padding:20px 22px}#role-modal .modal-head{padding-bottom:12px;margin-bottom:13px}#role-modal .form-grid{grid-template-columns:minmax(220px,.8fr) minmax(360px,2fr);gap:12px;margin-bottom:13px}#role-modal .form-grid label{gap:5px}#role-modal .form-grid input{height:38px}#role-modal .form-grid .full{grid-column:auto}#role-modal .permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:none;overflow:visible;border:0;border-radius:0}#role-modal .permission-head{display:none}#role-modal .permission-row{display:grid;grid-template-columns:minmax(110px,1fr) repeat(4,37px);min-width:0;min-height:54px;align-items:center;border:1px solid #dce5df;border-radius:10px;background:#f8faf9!important;overflow:hidden}#role-modal .permission-row>span{align-self:stretch;display:flex;align-items:center;padding:8px 10px;background:#edf4f0;font-weight:700;font-size:12px;line-height:1.2}#role-modal .permission-row label{position:relative;display:grid;place-items:center;align-self:stretch;padding:18px 2px 3px;border-left:1px solid #e3eae6}#role-modal .permission-row label:before{position:absolute;top:3px;left:0;right:0;text-align:center;color:#74847c;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}#role-modal .permission-row label:nth-child(2):before{content:"View"}#role-modal .permission-row label:nth-child(3):before{content:"Add"}#role-modal .permission-row label:nth-child(4):before{content:"Edit"}#role-modal .permission-row label:nth-child(5):before{content:"Delete"}#role-modal .permission-row input{width:16px;height:16px}#role-modal .modal-actions{margin-top:13px;padding-top:13px}@media(max-width:1000px){#role-modal .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){#role-modal{width:100vw;max-height:100dvh;border-radius:0}#role-modal .form-grid,#role-modal .permission-grid{grid-template-columns:1fr}#role-modal .form-grid .full{grid-column:1}}

/* Grouped navigation and chart-free ranking history. */
.sidebar nav{gap:6px}.nav-section{display:grid;gap:2px}.nav-section h2{margin:0;color:#819087;font:700 10px 'Plus Jakarta Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase}.nav-section .nav-link{font-size:14px}.nav-section-toggle{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 18px 9px 13px;border-radius:9px;cursor:pointer}.nav-section-toggle:hover{background:#f1f6f2}.nav-section-toggle:focus-visible{outline:2px solid #49826c;outline-offset:2px}.nav-chevron{width:14px;height:14px;flex:0 0 14px;color:#9fb0a5;transition:transform .18s ease}.nav-section-toggle[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}.nav-section-links{display:none;flex-direction:column;gap:2px;padding-top:2px}.nav-section-toggle[aria-expanded="true"]+.nav-section-links{display:flex}.record-row[data-record-href]{cursor:pointer}.ranking-history-card.no-chart{grid-template-columns:auto minmax(0,1fr) auto}.ranking-history-card.no-chart .ranking-periods{grid-column:1/-1}.client-ranking-card.no-chart{min-height:0}
.page-heading .eyebrow,.page-heading>div>p,.client-hero .eyebrow,.client-hero-identity p{display:none}

/* Leaf-led dashboard decoration and aligned section headers. */
.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:first-child,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:first-child{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:13px;align-items:center;min-width:0}.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:first-child:before,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:first-child:before{float:none;grid-column:1;grid-row:1/3;margin:0}.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:first-child h2,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:first-child h2{grid-column:2;grid-row:1;margin:0}.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:first-child p,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:first-child p{grid-column:2;grid-row:2;margin:2px 0 0;max-width:650px;line-height:1.45}.content[data-panel="dashboard"]>.important-links-panel .section-actions:before,.content[data-panel="dashboard"]>.sticky-notes-panel .section-actions:before{content:none!important;display:none!important}.content[data-panel="dashboard"]>.important-links-panel .panel-head,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head{display:flex;align-items:center;gap:18px}.content[data-panel="dashboard"] .command-center-heading:before{inset:-52px 7% auto auto;width:285px;height:285px;border:0;border-radius:0;background:url('leaf-mark.svg?v=2') center/contain no-repeat;opacity:.23;filter:brightness(0) invert(1);animation:none;transform:rotate(-12deg)}.content[data-panel="dashboard"] .command-center-heading:after{right:-22px;top:20px;left:auto;bottom:auto;width:160px;height:160px;border:0;border-radius:0;background:url('leaf-mark.svg?v=2') center/contain no-repeat;opacity:.08;filter:brightness(0) invert(1);transform:rotate(25deg)}.command-center-clock{display:block;margin-top:12px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.content[data-panel="dashboard"] .stat:after{right:-17px;bottom:-22px;width:94px;height:94px;border:0;border-radius:0;background:url('leaf-mark.svg?v=2') center/contain no-repeat;opacity:.055;transform:rotate(18deg);transition:transform .25s ease,opacity .25s ease}.content[data-panel="dashboard"] .stat:hover:after{transform:rotate(8deg) scale(1.12);opacity:.09}.content>.page-heading:not(.rankings-hero):not(.command-center-heading):after{right:-10px;bottom:-48px;width:185px;height:185px;border:0;border-radius:0;background:url('leaf-mark.svg?v=2') center/contain no-repeat;opacity:.055;transform:rotate(18deg)}.rankings-hero:before{right:40px;top:-60px;width:285px;height:285px;border:0;border-radius:0;background:url('leaf-mark.svg?v=2') center/contain no-repeat;opacity:.13;filter:brightness(0) invert(1);transform:rotate(-10deg)}@media(max-width:700px){.content[data-panel="dashboard"]>.important-links-panel .panel-head,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head{align-items:flex-start}.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:first-child,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:first-child{grid-template-columns:36px minmax(0,1fr);column-gap:10px}.content[data-panel="dashboard"]>.important-links-panel .panel-head>div:first-child:before,.content[data-panel="dashboard"]>.sticky-notes-panel .panel-head>div:first-child:before{width:36px;height:36px}.section-actions{flex:0 0 auto}}
.workspace-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.workspace-steps>div{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center;padding:1rem;border:1px solid #dce8e1;border-radius:16px;background:#f6faf7}.workspace-steps b{grid-row:1/3;display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:#0f684f;color:#fff}.workspace-steps small{color:var(--muted)}@media(max-width:760px){.workspace-steps{grid-template-columns:1fr}}
.link-card .file-symbol{color:#2f806d}.link-card .file-card-main small{color:var(--muted);overflow-wrap:anywhere}.link-card-desc{margin:0;font-size:13px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.navigation-config h3{margin:26px 0 4px}
a.feed-row{color:var(--ink);cursor:pointer}a.feed-row:hover{text-decoration:none;background:var(--pale)}a.feed-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}


/* ---- Sidebar item accents (pastel, light system background kept) ---- */
.sidebar .nav-link .nav-icon{background:#eef4f0;color:#4a6c5c}
.sidebar [data-tab="ai_assistant"] .nav-icon{background:#efe9fe;color:#7c5cf0}
.sidebar [data-tab="calendar"] .nav-icon,.sidebar [data-tab="reminders"] .nav-icon{background:#e6f4fd;color:#1f8fd1}
.sidebar [data-tab="attention"] .nav-icon{background:#fff2df;color:#c9790a}
.sidebar [data-tab="clients"] .nav-icon,.sidebar [data-tab="stakeholders"] .nav-icon,.sidebar [data-tab="research_partners"] .nav-icon{background:#fdeaec;color:#d1495e}
.sidebar [data-tab="projects"] .nav-icon,.sidebar [data-tab="tasks"] .nav-icon,.sidebar [data-tab="dependencies"] .nav-icon,.sidebar [data-tab="gantt"] .nav-icon{background:#e4f9fb;color:#0e93a3}
.sidebar [data-tab="commitments"] .nav-icon,.sidebar [data-tab="meetings"] .nav-icon{background:#eceafd;color:#5b52d6}
.sidebar [data-tab="deliverables"] .nav-icon,.sidebar [data-tab="change_requests"] .nav-icon{background:#e2faf5;color:#0f9c81}
.sidebar [data-tab="risks"] .nav-icon{background:#fdecec;color:#c53838}
.sidebar [data-tab="rankings_dashboard"] .nav-icon,.sidebar [data-tab="ranking_benchmarks"] .nav-icon,.sidebar [data-tab="ranking_frameworks"] .nav-icon,.sidebar [data-tab="ranking_results"] .nav-icon,.sidebar [data-tab="ranking_readiness"] .nav-icon,.sidebar [data-tab="competitors"] .nav-icon,.sidebar [data-tab="methodologies"] .nav-icon,.sidebar [data-tab="research_intelligence_lab"] .nav-icon{background:#fdf3d9;color:#b3820a}
.sidebar [data-tab="documents"] .nav-icon,.sidebar [data-tab="knowledge_base"] .nav-icon,.sidebar [data-tab="portals"] .nav-icon,.sidebar [data-tab="my_accounts"] .nav-icon,.sidebar [data-tab="reports"] .nav-icon,.sidebar [data-tab="report_templates"] .nav-icon,.sidebar [data-tab="project_templates"] .nav-icon{background:#f1eafd;color:#7e4fd1}
.sidebar [data-tab="financial"] .nav-icon{background:#f1fadb;color:#5f8f1a}
.sidebar [data-tab="whatsapp"] .nav-icon{background:#e2f9e9;color:#1f9d51}
/* Active page: same pastel hue, solid and bold, so the current page still stands out */
.sidebar [data-tab="ai_assistant"].active .nav-icon{background:#7c5cf0;color:#fff}
.sidebar [data-tab="calendar"].active .nav-icon,.sidebar [data-tab="reminders"].active .nav-icon{background:#1f8fd1;color:#fff}
.sidebar [data-tab="attention"].active .nav-icon{background:#c9790a;color:#fff}
.sidebar [data-tab="clients"].active .nav-icon,.sidebar [data-tab="stakeholders"].active .nav-icon,.sidebar [data-tab="research_partners"].active .nav-icon{background:#d1495e;color:#fff}
.sidebar [data-tab="projects"].active .nav-icon,.sidebar [data-tab="tasks"].active .nav-icon,.sidebar [data-tab="dependencies"].active .nav-icon,.sidebar [data-tab="gantt"].active .nav-icon{background:#0e93a3;color:#fff}
.sidebar [data-tab="commitments"].active .nav-icon,.sidebar [data-tab="meetings"].active .nav-icon{background:#5b52d6;color:#fff}
.sidebar [data-tab="deliverables"].active .nav-icon,.sidebar [data-tab="change_requests"].active .nav-icon{background:#0f9c81;color:#fff}
.sidebar [data-tab="risks"].active .nav-icon{background:#c53838;color:#fff}
.sidebar [data-tab="rankings_dashboard"].active .nav-icon,.sidebar [data-tab="ranking_benchmarks"].active .nav-icon,.sidebar [data-tab="ranking_frameworks"].active .nav-icon,.sidebar [data-tab="ranking_results"].active .nav-icon,.sidebar [data-tab="ranking_readiness"].active .nav-icon,.sidebar [data-tab="competitors"].active .nav-icon,.sidebar [data-tab="methodologies"].active .nav-icon,.sidebar [data-tab="research_intelligence_lab"].active .nav-icon{background:#b3820a;color:#fff}
.sidebar [data-tab="documents"].active .nav-icon,.sidebar [data-tab="knowledge_base"].active .nav-icon,.sidebar [data-tab="portals"].active .nav-icon,.sidebar [data-tab="my_accounts"].active .nav-icon,.sidebar [data-tab="reports"].active .nav-icon,.sidebar [data-tab="report_templates"].active .nav-icon,.sidebar [data-tab="project_templates"].active .nav-icon{background:#7e4fd1;color:#fff}
.sidebar [data-tab="financial"].active .nav-icon{background:#5f8f1a;color:#fff}
.sidebar [data-tab="whatsapp"].active .nav-icon{background:#1f9d51;color:#fff}
.nav-bulk-toggle{padding:10px 14px 0}
.nav-bulk-toggle-btn{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;padding:7px 10px;border-radius:9px;font:600 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;color:#4a6c5c;background:#eef4f0;border:1px solid var(--line);cursor:pointer;transition:background .16s ease,color .16s ease}
.nav-bulk-toggle-btn:hover{background:#e2ece5;color:#173d31}
.nav-bulk-toggle-btn:focus-visible{outline:2px solid #49826c;outline-offset:2px}
/* September 2026 refinement: a quiet canvas with color-coded navigation. */
.sidebar{background:linear-gradient(180deg,#fbf8f1 0%,#f4f0e6 56%,#e9f0e8 100%);box-shadow:inset -1px 0 #d9d4c7,10px 0 28px rgba(45,64,52,.04)}
.sidebar .brand,.sidebar .nav-section h2,.sidebar .nav-link{color:#174635}.sidebar .nav-section{border-color:#ded8ca}.sidebar .nav-section-toggle{color:#53715f}
.sidebar .nav-section h2{font-weight:800;letter-spacing:.035em}
.sidebar .nav-link{border:1px solid transparent;margin:2px 0;border-radius:12px;transition:transform .18s ease,background .18s ease,border-color .18s ease}.sidebar .nav-link:hover{background:#f1eadb;border-color:#e0d3b8;transform:translateX(3px)}.sidebar .nav-link.active{background:linear-gradient(90deg,#17654d,#0f523d);color:#fff;box-shadow:0 8px 18px rgba(24,74,55,.18)}.sidebar .nav-link.active .nav-icon{background:rgba(255,255,255,.18)!important;color:#fff!important}
.content{background:radial-gradient(circle at 92% 4%,rgba(224,191,114,.13),transparent 22rem),radial-gradient(circle at 3% 32%,rgba(67,154,126,.08),transparent 20rem),#f6f8f6}.page-heading{position:relative;overflow:hidden;border-color:#d9e6df;background:linear-gradient(115deg,#fff 0%,#fbfdf9 62%,#f3ecdf 100%)}.page-heading:after{content:"";position:absolute;width:190px;height:190px;right:-74px;bottom:-115px;border:26px solid rgba(25,108,83,.09);border-radius:48% 52% 42% 58%;transform:rotate(-24deg);pointer-events:none}.page-heading>*{position:relative;z-index:1}
.file-grid{gap:18px}.file-card{border-color:#d9e5de;background:linear-gradient(145deg,#fff,#f8fbf8);box-shadow:0 9px 24px rgba(20,61,48,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.file-card:hover{transform:translateY(-3px);border-color:#88ae96;box-shadow:0 16px 30px rgba(20,61,48,.13)}.file-card:nth-child(4n+2){background:linear-gradient(145deg,#fff,#f5f0fb)}.file-card:nth-child(4n+3){background:linear-gradient(145deg,#fff,#fbf7ea)}.file-card:nth-child(4n+4){background:linear-gradient(145deg,#fff,#eef8f4)}.page-heading .action-cluster .button{border-radius:999px}.auth-help{text-align:center;margin:18px 0 0}.auth-help a{color:#116149;font-weight:700}
.atlas-hero{background:linear-gradient(115deg,#fff 0%,#f4fbf4 56%,#fbf0d7 100%)}.atlas-grid .atlas-collection{min-height:188px}.atlas-collection .file-card-main{gap:11px}.atlas-collection .file-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#e6f2eb;color:#106247;font-size:23px}.atlas-collection small{min-height:42px;line-height:1.45}.sidebar [data-tab="team"] .nav-icon{background:#e9f3ff;color:#3f74be}.sidebar [data-tab="team"].active .nav-icon{background:#3f74be;color:#fff}

/* ---- Sidebar matched to the page hero (19 Sep 2026): same ivory-to-sand wash, same soft
   green botanical mark, same deep green ink and active state as the heading card. ---- */
.sidebar{background:linear-gradient(180deg,#fff 0%,#fbfdf9 48%,#f5eee0 100%);border-right:1px solid #e3ddce;box-shadow:none;overflow:hidden}
.sidebar:after{content:"";position:absolute;left:-96px;bottom:-120px;width:210px;height:210px;border:22px solid rgba(25,108,83,.055);border-radius:48% 52% 42% 58%;transform:rotate(-24deg);pointer-events:none;z-index:0}
.sidebar>*{position:relative;z-index:1}
.sidebar .brand{border-bottom:1px solid #e8e1d2}
.sidebar .nav-section{border-color:#e8e1d2}
.sidebar .nav-section h2{color:#12513c;font-weight:800;font-size:10.5px;letter-spacing:.045em}
.sidebar .nav-section-toggle{color:#4f6f5d}
.sidebar .nav-link{color:#174635}
.sidebar .nav-link:hover{background:#fff;border-color:#e4dbc8;box-shadow:0 2px 9px rgba(45,64,52,.07);transform:translateX(3px)}
.sidebar .nav-link.active{background:linear-gradient(90deg,#17654d,#0f523d);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(24,74,55,.18)}
.sidebar .nav-bulk-toggle-btn{background:#fff;border:1px solid #e4dbc8;color:#3f6354}
.sidebar .nav-bulk-toggle-btn:hover{background:#faf6ec;border-color:#dccfb3}
/* The content area carried a soft green glow centred just inside its left edge. Against the
   near-white sidebar on one side and the white cards on the other it read as a shaded strip
   running down the page beside every tab -- and being a gradient, it scaled with the zoom.
   The background is flat there now; the warm accent in the top right corner is kept. */
.content{background:radial-gradient(circle at 92% 4%,rgba(224,191,114,.13),transparent 22rem),#f6f8f6}

/* ---- Work due within a day, or already past due, is flagged in the table (19 Sep 2026) ---- */
.record-row.due-soon>td{background:#fdeeec}
.record-row.due-overdue>td{background:#fbe1de}
.record-row.due-soon>td:first-child{box-shadow:inset 3px 0 #d4635a}
.record-row.due-overdue>td:first-child{box-shadow:inset 3px 0 #b4302a}
.record-row.due-soon>td:first-child .cell-text,.record-row.due-soon>td:first-child strong{color:#b1443a}
.record-row.due-overdue>td:first-child .cell-text,.record-row.due-overdue>td:first-child strong{color:#96241d}

/* ---- Each sidebar section sits on its own tint (19 Sep 2026). The colours follow the order
   of the sections rather than their names, so renaming or reordering a section in Settings
   keeps the palette intact, and a seventh section simply starts the cycle again. ---- */
.sidebar nav{gap:10px}
.sidebar .nav-section{padding:4px 6px 6px;border:1px solid transparent;border-radius:13px;background:#f3f6f4}
.sidebar .nav-section-toggle{padding-left:10px;padding-right:12px}
.sidebar .nav-section:nth-of-type(6n+1){background:#ecf4ee;border-color:#d8e8de}
.sidebar .nav-section:nth-of-type(6n+2){background:#eef2fa;border-color:#dbe3f1}
.sidebar .nav-section:nth-of-type(6n+3){background:#f9f2e4;border-color:#eee0c4}
.sidebar .nav-section:nth-of-type(6n+4){background:#f4eff9;border-color:#e4daf0}
.sidebar .nav-section:nth-of-type(6n+5){background:#eaf4f5;border-color:#d4e8ea}
.sidebar .nav-section:nth-of-type(6n+6){background:#fbeff0;border-color:#f0dade}
.sidebar .nav-link:hover{background:#ffffffcc;border-color:#ffffff}
.sidebar .nav-link.active{box-shadow:0 6px 14px rgba(24,74,55,.22)}

/* ---- Workspace is tucked behind a disclosure arrow in the record forms ---- */
.workspace-details{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;background:#fbfcfb;padding:0}
.workspace-details>summary{display:flex;align-items:center;gap:8px;padding:11px 14px;cursor:pointer;font-size:14px;font-weight:700;color:var(--ink);list-style:none}
.workspace-details>summary::-webkit-details-marker{display:none}
.workspace-details>summary:before{content:"";width:7px;height:7px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg);transition:transform .18s ease}
.workspace-details[open]>summary:before{transform:rotate(45deg)}
.workspace-details>.form-grid{padding:0 14px 14px}

/* ---- A note in a page heading sits on its own line at the foot of the card, instead of
   running alongside the buttons and stretching the row (19 Sep 2026) ---- */
.page-heading{flex-wrap:wrap}
/* The note sits under the title, inside the same column, so it cannot become a third column
   and squeeze the heading however the card is sized. */
.page-heading>div>p.page-heading-note,.page-heading-note{display:block;margin:10px 0 0;max-width:62ch;color:var(--muted);font-size:14px;line-height:1.5}

/* ---- Sidebar hover and selected states, made deterministic (19 Sep 2026).
   The plain :hover rule carried the same weight as the selected-tab rule and came after it,
   so hovering the tab you were already on painted a white background under its white text and
   the label vanished. Hover now applies only to tabs that are not selected, and the selected
   tab has a hover state of its own. Both are written as solid, explicit colours so they look
   the same for every user, browser and operating system, and pointer devices without hover
   (touch screens) are excluded so a tapped tab cannot keep a stuck hover style. ---- */
.sidebar .nav-link{transition:background .18s ease,border-color .18s ease,transform .18s ease}
.sidebar .nav-link:not(.active):hover,
.sidebar .nav-link:not(.active):focus-visible{background:#fff;border-color:#e4dbc8;color:#123f30;box-shadow:0 2px 9px rgba(45,64,52,.07);transform:translateX(3px)}
.sidebar .nav-link.active,
.sidebar .nav-link.active:hover,
.sidebar .nav-link.active:focus-visible{background:linear-gradient(90deg,#17654d,#0f523d);background-color:#15604a;color:#fff;border-color:transparent;box-shadow:0 6px 14px rgba(24,74,55,.22)}
.sidebar .nav-link.active:hover{transform:translateX(3px)}
.sidebar .nav-link.active .nav-icon{background:rgba(255,255,255,.18)!important;color:#fff!important}
.sidebar .nav-link:focus-visible{outline:2px solid #0f523d;outline-offset:2px}
@media (hover:none){.sidebar .nav-link:not(.active):hover{background:transparent;border-color:transparent;box-shadow:none;transform:none}}

/* =========================================================
   SMART LEAVES: SIDEBAR + TOPBAR LAYOUT IMPROVEMENTS
   ========================================================= */

/* Wider sidebar */
:root {
    --sidebar-width: 295px;
}

.sidebar {
    width: var(--sidebar-width) !important;
    min-width: var(--sidebar-width) !important;
}

.main {
    min-width: 0;
}


/* =========================================================
   TOP BAR
   ========================================================= */

.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 68px;
    padding: 10px 24px;
}

.topbar-left {
    display: flex;
    align-items: center;
    margin-right: auto;
}


/* Partner selector on LEFT */

.client-selector {
    margin: 0 !important;
}

.client-selector select {
    min-width: 240px;
    height: 42px;
}


/* User information on RIGHT */

.topbar-user {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    margin-left: auto;
}

.topbar-user-info {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    text-align: right;
}

.topbar-user-info strong {
    font-size: 13px;
    font-weight: 700;
    color: #123f35;
}

.topbar-user-info small {
    margin-top: 2px;
    font-size: 10px;
    color: #74827d;
}

.topbar-account-link {
    color: #145f4b;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.topbar-account-link:hover {
    text-decoration: underline;
}

.topbar-signout {
    margin: 0;
}


/* =========================================================
   SIDEBAR SECTION TITLES
   TODAY / EXECUTION / NETWORK / RANKINGS / ETC.
   ========================================================= */

.nav-section-toggle h2 {
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em;
    color: #a73a3a !important;
    text-transform: uppercase;
}


/* Give section headers slightly more presence */

.nav-section-toggle {
    min-height: 45px;
    padding-left: 16px;
    padding-right: 14px;
}


/* Navigation links have more breathing room */

.nav-link {
    padding-left: 18px;
    padding-right: 16px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .topbar {
        padding: 10px 14px;
    }

    .topbar-user-info {
        display: none;
    }

    .topbar-account-link {
        display: none;
    }

    .client-selector select {
        min-width: 170px;
    }
}
.client-selector {
    margin-left: 40px !important;
}
.nav-section-toggle:hover {
    background: transparent !important;
}

.nav-section:hover {
    border-color: #9baea7 !important;
    box-shadow: none !important;
}

.nav-section:hover .nav-section-toggle {
    background: transparent !important;
}
/* =========================================================
   FOLDER AND FILE COLOURS (19 Sep 2026)
   The cards were being painted by their position in the grid (every 2nd, 3rd, 4th), which
   overrode the colour chosen on each card: the dot changed but the card never did. Each card
   is painted from its own colour again. A plain border colour is given before the blended one
   so browsers without color-mix() still show a sensible edge.
   ========================================================= */
.file-card,
.file-card:nth-child(4n+1),
.file-card:nth-child(4n+2),
.file-card:nth-child(4n+3),
.file-card:nth-child(4n+4){background:linear-gradient(140deg,var(--card-wash,#e8f3ec) 0 58%,#fff 100%);border:1px solid #d9e5de;border-color:color-mix(in srgb,var(--card-accent,#668f79) 45%,var(--line));border-top:6px solid var(--card-accent,#668f79)}

/* =========================================================
   SIDEBAR SECTION COLOURS AND TITLES (19 Sep 2026)

   TO CHANGE THE SECTION TITLE SIZE, EDIT THE ONE NUMBER BELOW
   (--nav-section-title-size). Everything else follows it.

   Each section carries its own ink and tint, and the title is drawn in that ink with a soft
   glow of the same colour behind it, so a section reads as one block. The palette follows the
   order of the sections, so renaming or reordering one in Settings changes nothing.
   ========================================================= */
:root{
    --nav-section-title-size: 13.5px;   /* <-- section title size: make this bigger or smaller */
    --nav-section-title-glow: .45;      /* <-- 0 removes the glow, 1 makes it strongest */
}
.sidebar .nav-section{border-width:1px;border-style:solid;background:var(--nav-section-tint,#f3f6f4);border-color:var(--nav-section-edge,#e2e8e4);transition:border-color .18s ease,box-shadow .18s ease}
.sidebar .nav-section:nth-of-type(6n+1){--nav-section-tint:#eaf4ee;--nav-section-edge:#cfe4d7;--nav-section-ink:#1d6b4e;--nav-section-soft:#3d7a60}
.sidebar .nav-section:nth-of-type(6n+2){--nav-section-tint:#eaf0fa;--nav-section-edge:#d3def1;--nav-section-ink:#2a5490;--nav-section-soft:#4a6a9c}
.sidebar .nav-section:nth-of-type(6n+3){--nav-section-tint:#faf2e2;--nav-section-edge:#ecdec0;--nav-section-ink:#8a6318;--nav-section-soft:#94733a}
.sidebar .nav-section:nth-of-type(6n+4){--nav-section-tint:#f3edfa;--nav-section-edge:#e0d6f0;--nav-section-ink:#5c4491;--nav-section-soft:#6d5a9e}
.sidebar .nav-section:nth-of-type(6n+5){--nav-section-tint:#e7f3f5;--nav-section-edge:#cde5e9;--nav-section-ink:#1f6a77;--nav-section-soft:#3c7b86}
.sidebar .nav-section:nth-of-type(6n+6){--nav-section-tint:#fbedef;--nav-section-edge:#f0d6da;--nav-section-ink:#9c3b52;--nav-section-soft:#9e5567}
.sidebar .nav-section-toggle,.sidebar .nav-section-toggle .nav-chevron{color:var(--nav-section-soft,#53715f)}
.sidebar .nav-section-toggle h2{
    color:var(--nav-section-ink,#1d5744)!important;
    font-size:var(--nav-section-title-size)!important;
    text-shadow:0 0 12px color-mix(in srgb,var(--nav-section-ink,#1d5744) calc(var(--nav-section-title-glow)*55%),transparent);
}
.sidebar .nav-section:hover .nav-section-toggle h2{text-shadow:0 0 16px color-mix(in srgb,var(--nav-section-ink,#1d5744) calc(var(--nav-section-title-glow)*85%),transparent)}

/* =========================================================
   LAYOUT WIDTH (19 Sep 2026)
   The sidebar was widened to --sidebar-width, but the page grid still reserved the old
   column width, so the sidebar covered the first few centimetres of every page. The grid
   now follows the same variable, so changing the width in one place moves both.
   ========================================================= */
.app-shell{grid-template-columns:var(--sidebar-width,252px) minmax(0,1fr)}

/* =========================================================
   SIDEBAR SECTION TITLES STAY ON ONE LINE (19 Sep 2026)
   When the navigation scrollbar appeared it took width off the row, and the longer titles
   ("Research Intelligence Lab", "Accreditation & Quality") broke onto a second line. The
   title now stays on one line and takes the space it needs from the row; the chevron keeps
   its own space, and a title too long for any width is trimmed with an ellipsis rather than
   wrapping. The scrollbar is given a reserved gutter so its arrival no longer shifts the row.
   ========================================================= */
.sidebar nav{scrollbar-gutter:stable}
.sidebar .nav-section-toggle{gap:10px;align-items:center}
.sidebar .nav-section-toggle h2{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.sidebar .nav-section-toggle .nav-chevron{flex:0 0 auto}
@media (max-width:900px){.sidebar .nav-section-toggle h2{white-space:normal;overflow:visible;text-overflow:clip}}

/* =========================================================
   SECTION ROW ALIGNMENT AND A THINNER SCROLLBAR (19 Sep 2026)
   A long title made the title-and-chevron row wider than its box, so the chevron drifted into
   the padding and sat further right than every other one. The row is a two-column grid now:
   the title column takes whatever is left and trims itself if it must, and the chevron column
   is always the same width, so every arrow lands on the same line. The navigation scrollbar is
   slimmed to 6px and given a reserved gutter, and the padding around the sections is tightened,
   which gives the titles back the width the scrollbar used to take.
   ========================================================= */
.sidebar nav{padding:16px 8px;gap:8px;scrollbar-width:thin;scrollbar-color:#c4d2ca transparent}
.sidebar nav::-webkit-scrollbar{width:6px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav::-webkit-scrollbar-thumb{background:#c4d2ca;border-radius:999px}
.sidebar nav::-webkit-scrollbar-thumb:hover{background:#a9bcb1}
.sidebar .nav-section{padding:3px 4px 5px}
.sidebar .nav-section-toggle{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:6px;padding:9px 8px 9px 10px;min-height:42px}
.sidebar .nav-section-toggle h2{grid-column:1;justify-self:start;max-width:100%;margin:0;letter-spacing:.01em}
.sidebar .nav-section-toggle .nav-chevron{grid-column:2;justify-self:end;width:16px;height:16px}
.sidebar .nav-link{padding-left:12px;padding-right:12px}

/* Submissions & Accounts: card and form alignment (labelled fields) */
.portal-card{padding:22px;display:grid;gap:14px;align-content:start;text-align:left}
.portal-card h3{margin:0;font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.portal-top{display:grid;gap:12px;text-align:left}
.portal-top-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.portal-top-row .portal-icon{font-size:20px;line-height:1;color:#5d8570}
.portal-top-row .workspace-tag{justify-self:end}
.portal-fields{display:grid;gap:12px}
.portal-card .portal-field{display:grid;gap:5px;margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.portal-card .portal-field>span{font:inherit;color:inherit}
.portal-card .portal-field>input,.portal-card .secret-row input{width:100%;min-height:38px;padding:8px 11px;font-size:14px;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--ink);background:#f7faf8;border:1px solid var(--line);border-radius:9px}
.portal-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.portal-link-row .button{min-height:38px;padding:8px 14px;font-size:13px;white-space:nowrap}
.portal-card .secret-row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.portal-card .secret-row .button{min-height:38px;padding:8px 12px;font-size:13px}
.portal-card .portal-notes{margin:0;font-size:14px;color:var(--muted)}
.portal-card .portal-notes:empty{display:none}
.portal-card .doc-actions{margin-top:2px;padding-top:12px;border-top:1px solid var(--line)}
.portal-card .doc-actions form{margin:0}
.credential-form{grid-template-columns:minmax(0,1fr)}
.credential-form>label{display:grid;gap:6px;align-content:start;margin:0}
.credential-form>label>span:first-child,.credential-form>label{font-size:13px;font-weight:600;color:var(--ink)}
.credential-form input,.credential-form select,.credential-form textarea{width:100%;font-weight:400}
.credential-form small{font-size:12px;font-weight:400;color:var(--muted)}
@media(max-width:560px){.portal-link-row{grid-template-columns:minmax(0,1fr)}.portal-link-row .button{width:100%}}

/* Copy button beside a value in a table cell */
.cell-copy{display:inline-flex;align-items:center;gap:7px;max-width:100%}
.cell-copy>.cell-text{overflow-wrap:anywhere}
.cell-copy-button{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid #cddbd2;border-radius:7px;background:#fff;color:var(--green);font-size:13px;line-height:1;cursor:pointer;opacity:.55;transition:opacity .15s ease,border-color .15s ease,background .15s ease}
tr:hover .cell-copy-button,.cell-copy-button:focus-visible{opacity:1}
.cell-copy-button:hover{background:var(--pale);border-color:#b4c9bd;opacity:1}
.cell-copy-button.copied{opacity:1;border-color:var(--green);background:#e7f5e9}
@media(hover:none){.cell-copy-button{opacity:1}}

/* Settings: Forms & fields: one picker, one toolbar, one card layout for every page */
.settings-picker-panel{padding:18px 20px}
.settings-picker{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:0}
.settings-picker>label{display:grid;gap:6px;flex:1 1 320px;min-width:0;margin:0;font-size:13px;font-weight:600;color:var(--ink)}
.settings-picker select{width:100%;min-height:42px}
.settings-picker .button{min-height:42px;white-space:nowrap}
.field-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--ui-radius);background:#fff}
.field-toolbar-search{flex:1 1 240px;min-width:0;margin:0}
.field-toolbar-search input{width:100%;min-height:38px}
.field-toolbar-chips{display:flex;flex-wrap:wrap;gap:7px}
.field-toolbar .chip{padding:7px 13px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}
.field-toolbar .chip:hover{background:var(--pale);color:var(--ink)}
.field-toolbar .chip.active{background:var(--green);border-color:var(--green);color:#fff}
.field-toolbar-count{margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}
.field-config-card.is-hidden-field{background:#fbfcfb}
.field-config-card.is-hidden-field .field-layout-name input{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:620px){.field-toolbar-count{margin-left:0}.settings-picker .button{width:100%}}

/* Handbook: reference tool cards and the Shanghai Subjects tool */
.handbook-tool-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.handbook-tool-card{display:grid;gap:10px;align-content:start;padding:22px;border:1px solid var(--line);border-radius:var(--ui-radius);background:linear-gradient(160deg,#fff 62%,var(--pale))}
.handbook-tool-card .eyebrow{font-size:10.5px;letter-spacing:.14em;color:var(--muted)}
.handbook-tool-card h3{margin:0}
.handbook-tool-card p{margin:0;font-size:14px;color:var(--muted)}
.handbook-tool-facts{display:flex;flex-wrap:wrap;gap:6px}
.handbook-tool-card .button{justify-self:start;margin-top:4px}
.gras-picker-panel{display:grid;gap:14px}
.gras-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.gras-picker label{display:grid;gap:6px;margin:0;font-size:13px;font-weight:600;color:var(--ink)}
.gras-picker select{width:100%;min-height:42px}
.gras-meta{display:flex;flex-wrap:wrap;gap:8px}
.gras-tiles{margin-bottom:18px}
.gras-tiles .stat strong{font-size:26px}
.gras-weights{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px}
.gras-weight{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--pale)}
.gras-weight strong{font-size:21px;line-height:1}
.gras-weight span{font-size:12px;color:var(--muted)}
.gras-weight.is-zero{background:#fbfcfb;opacity:.55}
.gras-capnote{margin:14px 0 0;font-size:13px}
.gras-calc label{display:grid;gap:6px;margin:0}
.gras-results,.gras-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.gras-totals{margin-top:12px}
.gras-result{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}
.gras-result span{font-size:12px;color:var(--muted)}
.gras-result strong{font-size:22px;line-height:1.1}
.gras-result small{font-size:12px;color:var(--muted)}
.gras-result.is-total{background:var(--pale)}
.gras-result.is-short{border-color:#e7c3c6;background:#fdf3f3}
.gras-result.is-clear{border-color:#c2e0cc;background:#f1f9f3}
.gras-recs{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none;counter-reset:gras-rec}
.gras-recs li{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:10px;background:#fff}
.gras-recs li strong{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}
.gras-recs li span{font-size:14px}
.gras-areas{padding:18px 22px}
.gras-areas summary{cursor:pointer;font-weight:700;list-style:none}
.gras-areas summary::-webkit-details-marker{display:none}
.gras-areas[open] summary{margin-bottom:14px}
.gras-area-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.gras-area-list li{padding:5px 11px;border:1px solid var(--line);border-radius:99px;background:var(--pale);font-size:12px;color:var(--ink)}
.gras-source{margin:0 0 6px;font-size:14px}
.gras-footnote{margin:6px 0 30px;font-size:12px}
.handbook-records-link{margin:22px 0 0;font-size:13px}
/* Shanghai Subjects: breathing room between the small boxes */
.gras-weights{gap:14px;margin-top:4px}
.gras-tiles{gap:14px;margin-bottom:22px}
.gras-results,.gras-totals{gap:14px}
.gras-totals{margin-top:14px}
.gras-recs{gap:12px;margin-top:22px}
.gras-area-list{gap:8px}

/* Shanghai Subjects: calculator and results laid out as in the published handbook card */
.gras-calc{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--pale)}
.gras-calc-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gras-calc-row label{flex:1 1 240px;margin:0;padding:11px 14px;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gras-calc-row input{flex:1 1 200px;min-height:44px;background:#fff}
.gras-results{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gras-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.gras-result{padding:17px 18px;gap:6px}
.gras-result span{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.gras-result strong{font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:600}
.gras-result.is-total strong{font-size:33px}
.gras-result.is-short strong,.gras-result.is-short small{color:#9f3b3f}
.gras-result.is-clear strong,.gras-result.is-clear small{color:#256d3f}
.gras-recs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.gras-rec{display:flex;align-items:start;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--ui-radius);background:#fff}
.gras-rec-key{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--pale);color:var(--green);font-size:12px;font-weight:700}
.gras-rec strong{display:block;margin-bottom:4px;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--green)}
.gras-rec span{font-size:14px}
@media(max-width:860px){.gras-results{grid-template-columns:repeat(2,minmax(0,1fr))}.gras-recs{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.gras-results,.gras-totals{grid-template-columns:minmax(0,1fr)}.gras-calc-row{align-items:stretch;flex-direction:column;gap:8px}}

/* A light colour layer for the Handbook pages only: accents vary by position so the summary
   tiles, weights, result cards and recommendations read as a set rather than as grey boxes. */
:root{--tone-teal:#1f7a6a;--tone-teal-soft:#e8f4f1;--tone-sky:#2f6f9f;--tone-sky-soft:#e9f1f7;
 --tone-plum:#6b5aa6;--tone-plum-soft:#efecf8;--tone-amber:#b07d2b;--tone-amber-soft:#faf2e4;
 --tone-rose:#b3556b;--tone-rose-soft:#fbecef}
.content[data-panel="ranking_frameworks"] .stats .stat{border-left:3px solid var(--line)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+1){border-left-color:var(--green);background:linear-gradient(180deg,#fff 62%,var(--pale))}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+2){border-left-color:var(--tone-sky);background:linear-gradient(180deg,#fff 62%,var(--tone-sky-soft))}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+3){border-left-color:var(--tone-plum);background:linear-gradient(180deg,#fff 62%,var(--tone-plum-soft))}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+4){border-left-color:var(--tone-amber);background:linear-gradient(180deg,#fff 62%,var(--tone-amber-soft))}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+5){border-left-color:var(--tone-teal);background:linear-gradient(180deg,#fff 62%,var(--tone-teal-soft))}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+1) strong{color:var(--green)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+2) strong{color:var(--tone-sky)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+3) strong{color:var(--tone-plum)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+4) strong{color:var(--tone-amber)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+5) strong{color:var(--tone-teal)}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+1){background:var(--pale);border-color:#cbe0d3}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+2){background:var(--tone-sky-soft);border-color:#cfe0ec}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+3){background:var(--tone-plum-soft);border-color:#dcd6ef}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+1) strong{color:var(--green)}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+2) strong{color:var(--tone-sky)}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+3) strong{color:var(--tone-plum)}
.content[data-panel="ranking_frameworks"] .gras-results .gras-result:not(.is-short):not(.is-clear):nth-child(4n+1) strong{color:var(--green)}
.content[data-panel="ranking_frameworks"] .gras-results .gras-result:not(.is-short):not(.is-clear):nth-child(4n+2) strong{color:var(--tone-sky)}
.content[data-panel="ranking_frameworks"] .gras-results .gras-result:not(.is-short):not(.is-clear):nth-child(4n+3) strong{color:var(--tone-plum)}
.content[data-panel="ranking_frameworks"] .gras-results .gras-result:not(.is-short):not(.is-clear):nth-child(4n+4) strong{color:var(--tone-amber)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+1) .gras-rec-key{background:var(--pale);color:var(--green)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+2) .gras-rec-key{background:var(--tone-sky-soft);color:var(--tone-sky)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+3) .gras-rec-key{background:var(--tone-plum-soft);color:var(--tone-plum)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+4) .gras-rec-key{background:var(--tone-amber-soft);color:var(--tone-amber)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+1) strong{color:var(--green)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+2) strong{color:var(--tone-sky)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+3) strong{color:var(--tone-plum)}
.content[data-panel="ranking_frameworks"] .gras-rec:nth-child(4n+4) strong{color:var(--tone-amber)}
.content[data-panel="ranking_frameworks"] .handbook-tool-card{border-left:3px solid var(--green)}

/* Handbook tool cards: a title and nothing else, three to a row */
.handbook-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.handbook-tool-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:84px;padding:18px 20px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--ui-radius);background:linear-gradient(160deg,#fff 66%,var(--pale));color:var(--ink);box-shadow:0 3px 14px #173d2c08;transition:transform .18s ease,box-shadow .18s ease}
.handbook-tool-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(24,67,51,.12);text-decoration:none}
.handbook-tool-card h3{margin:0;font-size:19px}
.handbook-tool-go{font-size:18px;color:var(--green)}
@media(max-width:1024px){.handbook-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.handbook-tool-grid{grid-template-columns:minmax(0,1fr)}}

/* Rows that carry a logo: keep every cell on the same line as the name */
tr:has(.client-name-cell) td{vertical-align:middle}
.client-name-cell{min-height:38px}

/* Shanghai Subjects: all nine weights on one line, with stronger colour */
.gras-weights{grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}
.gras-weight{padding:12px 11px;gap:3px;border-width:1px}
.gras-weight strong{font-size:19px}
.gras-weight span{font-size:11px;line-height:1.25}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+1){background:#dff0e6;border-color:#9dc7ae}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+2){background:#dcebf7;border-color:#9dc2dd}
.content[data-panel="ranking_frameworks"] .gras-weights .gras-weight:not(.is-zero):nth-child(3n+3){background:#e5e0f7;border-color:#bbb0e0}
.gras-weight.is-zero{background:#f2f4f3;border-color:#dfe5e1;opacity:1}
.gras-weight.is-zero strong,.gras-weight.is-zero span{color:#8b9a92}
.content[data-panel="ranking_frameworks"] .stats .stat{border-left-width:4px}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+1){background:linear-gradient(180deg,#fff 40%,#dff0e6)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+2){background:linear-gradient(180deg,#fff 40%,#dcebf7)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+3){background:linear-gradient(180deg,#fff 40%,#e5e0f7)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+4){background:linear-gradient(180deg,#fff 40%,#f8ead2)}
.content[data-panel="ranking_frameworks"] .stats .stat:nth-child(5n+5){background:linear-gradient(180deg,#fff 40%,#d9efe9)}
@media(max-width:1200px){.gras-weights{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:820px){.gras-weights{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.gras-weights{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gras-subject-list span{padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:var(--pale);font-size:12.5px}
.gras-subject-list span.is-current{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}
.gras-criteria{display:grid;gap:10px;margin:0;padding:0 0 0 20px}
.gras-criteria li{font-size:14px;padding-left:4px}
.gras-criteria li::marker{color:var(--green);font-weight:700}
.gras-subhead{margin:20px 0 12px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700}
.gras-subhead:first-child{margin-top:0}
.gras-calc-row label small{display:block;margin-top:4px;font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;color:#7d8f86;line-height:1.35}
.gras-calc-row label{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.is-zero-row td{opacity:.5}
.gras-picker label[hidden]{display:none}

/* Performance: partner cards and the report behind each one, in the system's own palette */
.performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.performance-card{display:flex;align-items:center;gap:14px;min-height:86px;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--ui-radius);background:linear-gradient(160deg,#fff 66%,var(--pale));color:var(--ink);box-shadow:0 3px 14px #173d2c08;transition:transform .18s ease,box-shadow .18s ease}
.performance-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(24,67,51,.12);text-decoration:none}
.performance-card.is-empty{border-left-color:var(--line);background:#fbfcfb}
.performance-logo{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.performance-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.performance-logo span{font-size:13px;font-weight:700;color:var(--green)}
.performance-card-body{display:grid;gap:3px;flex:1;min-width:0}
.performance-card-body strong{font:600 17px 'Playfair Display',Georgia,serif;overflow-wrap:anywhere}
.performance-card-body small{font-size:12px;color:var(--muted)}
.performance-footnote{margin:6px 0 30px;font-size:12px}
.performance-editor .performance-html{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}

.performance-report{display:grid;gap:26px}
.performance-report .blk{padding:26px;border:1px solid var(--line);border-radius:var(--ui-radius);background:#fff;box-shadow:0 3px 14px #173d2c08}
.performance-report h2.sec{display:flex;align-items:center;gap:10px;margin:0 0 20px;font:600 21px 'Playfair Display',Georgia,serif;color:var(--ink)}
.performance-report h2.sec i{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:var(--pale);color:var(--green);font:700 13px 'Plus Jakarta Sans',system-ui,sans-serif;font-style:normal}
.performance-report .pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:16px}
.performance-report .pcards.sum4{grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr))}
.performance-report .rank{display:grid;gap:12px;align-content:start;padding:18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(170deg,#fff 70%,var(--pale))}
.performance-report .rank .top{display:flex;align-items:start;gap:12px}
.performance-report .lgw{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.performance-report .lg{max-width:100%;max-height:100%;object-fit:contain;padding:2px}
.performance-report .lg.ic{color:var(--green)}
.performance-report .lg.ic svg{width:22px;height:22px}
.performance-report .ttl{min-width:0}
.performance-report .ttl h4{margin:0 0 2px;font:600 16px 'Playfair Display',Georgia,serif;overflow-wrap:anywhere}
.performance-report .ttl h4 em{font-style:normal;color:var(--muted)}
.performance-report .ttl h4 a{color:var(--ink)}
.performance-report .ttl h4 a:hover{color:var(--green)}
.performance-report .ttl span{font-size:12px;color:var(--muted)}
.performance-report .pvrow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.performance-report .pv{font:600 30px 'Playfair Display',Georgia,serif;color:var(--green);line-height:1.05}
.performance-report .pv i{font-style:normal;font-size:16px;color:var(--muted)}
.performance-report .ssub{margin:0;font-size:12.5px;color:var(--muted)}
.performance-report .mrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.performance-report .stand{padding:4px 10px;border-radius:99px;background:var(--pale);color:var(--green);font-size:12px;font-weight:700}
.performance-report .mini{padding:6px 11px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}
.performance-report .mini:hover{background:var(--pale);color:var(--ink)}
.performance-report .mini[aria-expanded="true"]{background:var(--green);border-color:var(--green);color:#fff}
.performance-report .sgrp{margin-top:6px}
.performance-report .grp{margin:0 0 12px;font:600 17px 'Playfair Display',Georgia,serif}
.performance-report .qpair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.performance-report table.t{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.performance-report table.t th,.performance-report table.t td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.performance-report table.t th{background:#f4f7f4;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.performance-report table.t td.r,.performance-report table.t th.r{text-align:right;white-space:nowrap}
.performance-report table.t tr.area td{background:var(--pale);font-weight:700;color:var(--green)}
.performance-report table.t tr.sub.win td{background:#eaf6ee;font-weight:700}
.performance-report table.t .who{display:block;font-size:12px;color:var(--muted)}
.performance-report table.t tr:last-child td{border-bottom:0}
.performance-report .note{margin:0;font-size:14px;color:var(--muted)}
.performance-report .eyebrow{margin:0 0 2px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.performance-report .modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#173b2d55;backdrop-filter:blur(6px)}
.performance-report .modal[hidden]{display:none}
.performance-report .mbox{width:min(880px,96vw);max-height:88vh;overflow:auto;border-radius:var(--ui-radius);background:#fff;box-shadow:0 26px 60px rgba(20,50,38,.28)}
.performance-report .mhead{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}
.performance-report .mhead h2{margin:0;font:600 20px 'Playfair Display',Georgia,serif}
.performance-report .mclose{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:19px;color:var(--ink);cursor:pointer}
.performance-report .mbody{padding:22px 24px}
.performance-report .pcards.sdg{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px}
.performance-report .sg{display:grid;gap:3px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.performance-report .sg:hover{border-color:#b7cfc1;text-decoration:none}
.performance-report .sg .gn{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.performance-report .sg .gt{font-size:13.5px;font-weight:600}
.performance-report .sg .gv{font:600 22px 'Playfair Display',Georgia,serif;color:var(--green)}
.performance-report .sg .gw{font-size:11.5px;color:var(--muted)}
.performance-report .sg.key{border-color:#9dc7ae;background:#dff0e6}
.performance-report .sg.out{background:#fbfcfb;opacity:.72}
.performance-report .sg.out .gv{color:var(--muted)}
@media(max-width:1024px){.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.performance-grid{grid-template-columns:minmax(0,1fr)}.performance-report .blk{padding:18px}}
@media print{.sidebar,.topbar,.action-cluster,.performance-report .mini{display:none!important}.performance-report .blk{break-inside:avoid;box-shadow:none}}
.performance-icon-field{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.performance-icon-field input[type=file]{flex:1 1 260px;min-width:0}

/* Performance: colour layer for this page only */
.content[data-panel="rankings_dashboard"] .performance-card:nth-child(4n+1){border-left-color:var(--green);background:linear-gradient(160deg,#fff 60%,#dff0e6)}
.content[data-panel="rankings_dashboard"] .performance-card:nth-child(4n+2){border-left-color:var(--tone-sky);background:linear-gradient(160deg,#fff 60%,#dcebf7)}
.content[data-panel="rankings_dashboard"] .performance-card:nth-child(4n+3){border-left-color:var(--tone-plum);background:linear-gradient(160deg,#fff 60%,#e5e0f7)}
.content[data-panel="rankings_dashboard"] .performance-card:nth-child(4n+4){border-left-color:var(--tone-amber);background:linear-gradient(160deg,#fff 60%,#f8ead2)}
.content[data-panel="rankings_dashboard"] .performance-card.is-empty{background:#fbfcfb;border-left-color:var(--line)}
.content[data-panel="rankings_dashboard"] .blk:nth-of-type(5n+1) h2.sec i{background:#dff0e6;color:var(--green)}
.content[data-panel="rankings_dashboard"] .blk:nth-of-type(5n+2) h2.sec i{background:#dcebf7;color:var(--tone-sky)}
.content[data-panel="rankings_dashboard"] .blk:nth-of-type(5n+3) h2.sec i{background:#e5e0f7;color:var(--tone-plum)}
.content[data-panel="rankings_dashboard"] .blk:nth-of-type(5n+4) h2.sec i{background:#f8ead2;color:var(--tone-amber)}
.content[data-panel="rankings_dashboard"] .blk:nth-of-type(5n+5) h2.sec i{background:#d9efe9;color:var(--tone-teal)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+1){border-left:3px solid var(--green)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+2){border-left:3px solid var(--tone-sky)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+3){border-left:3px solid var(--tone-plum)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+4){border-left:3px solid var(--tone-amber)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+2) .pv{color:var(--tone-sky)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+3) .pv{color:var(--tone-plum)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+4) .pv{color:var(--tone-amber)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+2) .stand{background:#dcebf7;color:var(--tone-sky)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+3) .stand{background:#e5e0f7;color:var(--tone-plum)}
.content[data-panel="rankings_dashboard"] .rank:nth-child(4n+4) .stand{background:#f8ead2;color:var(--tone-amber)}
.content[data-panel="rankings_dashboard"] .sg.key{border-color:#9dc7ae;background:#dff0e6}
.content[data-panel="rankings_dashboard"] table.t tr.area td{background:#dff0e6}
.content[data-panel="rankings_dashboard"] table.t tr.sub.win td{background:#f8ead2;color:#8a5b12}

/* Performance: the printed report: ruled, aligned rows and full-width tables */
@media print{
 @page{size:A4;margin:14mm 12mm}
 body{background:#fff}
 .sidebar,.topbar,.app-shell>.sidebar,.action-cluster,.alert,.performance-card,.handbook-records-link,
 .performance-report .mini,.performance-report .modal{display:none!important}
 .app-shell{display:block}
 .content{padding:0!important;display:block}
 .page-heading{padding:0 0 10px!important;margin:0 0 14px!important;border:0;border-bottom:1.5pt solid #173d31;border-radius:0;background:#fff!important;box-shadow:none!important;min-height:0}
 .page-heading:before,.page-heading:after,.page-heading .page-heading-visual{display:none!important}
 .page-heading h1{font-size:20pt;margin:0}
 .page-heading .eyebrow{font-size:8pt;letter-spacing:.1em}
 .page-heading-note{font-size:9pt;color:#000;margin:4px 0 0}
 .performance-report{display:block;gap:0}
 .performance-report .blk{break-inside:auto;page-break-inside:auto;padding:0;margin:0 0 16pt;border:0;border-radius:0;box-shadow:none;background:#fff}
 .performance-report h2.sec{margin:0 0 6pt;padding:0 0 3pt;font-size:13pt;border-bottom:1pt solid #173d31;break-after:avoid;page-break-after:avoid}
 .performance-report h2.sec i{width:18pt;height:18pt;flex:0 0 18pt;font-size:9pt;background:#e9f2ec!important;color:#125c46!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .performance-report .pcards,.performance-report .pcards.sum4{display:block;gap:0}
 .performance-report .rank{display:grid!important;grid-template-columns:minmax(0,1fr) 78pt 78pt;align-items:baseline;gap:4pt 10pt;
  padding:5pt 0;margin:0;border:0!important;border-bottom:.5pt solid #b9c6bd!important;border-radius:0;background:#fff!important;
  break-inside:avoid;page-break-inside:avoid}
 .performance-report .rank:first-child{border-top:.5pt solid #b9c6bd!important}
 .performance-report .rank .top{grid-column:1;gap:6pt;align-items:baseline}
 .performance-report .lgw{width:44pt;height:20pt;flex:0 0 44pt;border:.5pt solid #b9c6bd;border-radius:3pt;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .performance-report .lg{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .performance-report .ttl h4{font-size:10.5pt;margin:0}
 .performance-report .ttl span{font-size:8.5pt}
 .performance-report .pvrow{grid-column:2;justify-content:flex-end;text-align:right}
 .performance-report .pv{font-size:13pt;color:#125c46!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .performance-report .pv i{font-size:9pt}
 .performance-report .ssub{grid-column:1/-1;font-size:8.5pt}
 .performance-report .mrow{grid-column:3;justify-content:flex-end;margin:0}
 .performance-report .stand{padding:1pt 5pt;font-size:8.5pt;background:#eef3ef!important;color:#125c46!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .performance-report .drop{grid-column:1/-1;margin:4pt 0 2pt}
 .performance-report .drop[hidden]{display:block!important}
 .performance-report table.t{width:100%;font-size:8.5pt;border:.5pt solid #b9c6bd;border-radius:0;break-inside:avoid;page-break-inside:avoid}
 .performance-report table.t thead{display:table-header-group}
 .performance-report table.t th{background:#eef3ef!important;color:#3f5a4c!important;font-size:7.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .performance-report table.t th,.performance-report table.t td{padding:3pt 5pt;border-bottom:.5pt solid #ccd7d0}
 .performance-report table.t tr.area td{background:#eef3ef!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .performance-report .qpair{display:block}
 .performance-report .qpair table.t{margin-bottom:8pt}
 .performance-report .grp{font-size:11pt;margin:8pt 0 4pt}
 .performance-report .note{font-size:9pt}
 .performance-footnote{font-size:8pt;border-top:.5pt solid #b9c6bd;padding-top:6pt;margin-top:10pt}
 a[href]{color:#000;text-decoration:none}
}
@media print{
 /* the page hero prints as a plain report header, and nothing is left orphaned at a page foot */
 .content>.page-heading,.page-heading{background:#fff!important;background-image:none!important;border:0!important;border-bottom:1.5pt solid #173d31!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;height:auto!important;padding:0 0 8pt!important;margin:0 0 12pt!important;overflow:visible!important}
 .page-heading>div{padding:0!important}
 .page-heading *[class*="visual"],.page-heading svg,.page-heading img{display:none!important}
 .performance-report .drop{break-inside:avoid;page-break-inside:avoid}
 .performance-report table.t thead{break-after:avoid;page-break-after:avoid}
 .performance-report .grp,.performance-report .sgrp>h3{break-after:avoid;page-break-after:avoid}
 .performance-report .mrow:empty{display:none}
 .performance-report .sgrp{break-inside:auto;page-break-inside:auto}
}
@media print{.app-shell,.content,section.content,body,html{background:#fff!important;background-image:none!important}}

/* Benchmarking: the partner cards, the head-to-head comparison and its editor */
.content[data-panel="ranking_benchmarks"] .performance-card:nth-child(4n+1){border-left-color:var(--tone-teal);background:linear-gradient(160deg,#fff 60%,#daefe9)}
.content[data-panel="ranking_benchmarks"] .performance-card:nth-child(4n+2){border-left-color:var(--tone-amber);background:linear-gradient(160deg,#fff 60%,#f8ead2)}
.content[data-panel="ranking_benchmarks"] .performance-card:nth-child(4n+3){border-left-color:var(--tone-sky);background:linear-gradient(160deg,#fff 60%,#dcebf7)}
.content[data-panel="ranking_benchmarks"] .performance-card:nth-child(4n+4){border-left-color:var(--tone-rose);background:linear-gradient(160deg,#fff 60%,#f8e0e6)}
.content[data-panel="ranking_benchmarks"] .performance-card.is-empty{background:#fbfcfb;border-left-color:var(--line)}

.benchmark-report{--ca:var(--green);--cb:var(--tone-amber);display:block;margin-top:22px}
.benchmark-report .bm-mast{margin-bottom:18px}
.benchmark-report .vsrow{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap}
.benchmark-report .side{flex:1 1 260px;min-width:0;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--c);border-radius:var(--ui-radius);background:linear-gradient(160deg,#fff 62%,var(--tint));box-shadow:0 3px 14px #173d2c08}
.benchmark-report .side.a{--c:var(--ca);--tint:#dff0e6}
.benchmark-report .side.b{--c:var(--cb);--tint:#f8ead2}
.benchmark-report .side span{display:block;margin-bottom:3px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--c)}
.benchmark-report .side b{display:block;font:600 19px 'Playfair Display',Georgia,serif;line-height:1.25}
.benchmark-report .side b a{color:inherit}
.benchmark-report .side select{height:auto;min-height:0;padding:2px 0;border:0;border-bottom:1px dashed color-mix(in srgb,var(--c) 45%,transparent);border-radius:0;background:transparent;font:600 19px 'Playfair Display',Georgia,serif;color:var(--ink);cursor:pointer}
.benchmark-report .tally{flex:0 0 auto;display:flex;align-items:center;gap:20px;padding:10px 22px;border:1px solid var(--line);border-radius:var(--ui-radius);background:#fbfdfc}
.benchmark-report .tally div{text-align:center}
.benchmark-report .tally i{display:block;font:600 28px 'Playfair Display',Georgia,serif;font-style:normal;line-height:1}
.benchmark-report .tally u{display:block;margin-top:3px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);text-decoration:none}
.benchmark-report .tally .ta i{color:var(--ca)}
.benchmark-report .tally .tb i{color:var(--cb)}

.benchmark-report .blk{margin-bottom:16px;padding:18px 20px 20px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:var(--ui-radius);background:var(--tint)}
.benchmark-report .k1{--tint:#f2f8f4;--accent:var(--green)}
.benchmark-report .k2{--tint:#eff6fb;--accent:var(--tone-sky)}
.benchmark-report .k3{--tint:#f6f2fb;--accent:var(--tone-plum)}
.benchmark-report h2.sec{display:flex;align-items:center;gap:11px;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--accent) 28%,transparent);font:700 13px 'Plus Jakarta Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}
.benchmark-report h2.sec i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);background:#fff;font:700 14px 'Playfair Display',Georgia,serif;font-style:normal;letter-spacing:0}

.benchmark-report .duel{margin-bottom:8px;padding:11px 14px;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(20,40,30,.05)}
.benchmark-report .duel.a{border-left-color:var(--ca)}
.benchmark-report .duel.b{border-left-color:var(--cb)}
.benchmark-report .duel.tie{border-left-color:var(--muted)}
.benchmark-report .dh{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.benchmark-report .dn{flex:1 1 280px;min-width:0}
.benchmark-report .dn h4{margin:0;font:600 16px 'Playfair Display',Georgia,serif;line-height:1.25}
.benchmark-report .dn h4 em{font-style:normal;font-size:13px;color:var(--muted)}
.benchmark-report .dn h4 a{color:inherit;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.benchmark-report .dn h4 a:hover{color:var(--accent);text-decoration:none}
.benchmark-report .dn span{display:block;margin-top:2px;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.benchmark-report .dv{flex:0 0 auto;display:flex;align-items:baseline;gap:11px;font-family:'Playfair Display',Georgia,serif;font-variant-numeric:tabular-nums}
.benchmark-report .dv b{min-width:92px;text-align:center;font-weight:600;font-size:23px;letter-spacing:-.02em}
.benchmark-report .dv .va{color:var(--ca)}
.benchmark-report .dv .vb{color:var(--cb)}
.benchmark-report .duel.a .dv .vb,.benchmark-report .duel.b .dv .va{opacity:.45}
.benchmark-report .vs{font:700 9.5px 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.benchmark-report .dbtn{flex:0 0 auto;min-width:72px;text-align:right}
.benchmark-report .mini{width:auto;min-height:0;padding:5px 11px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:20px;background:color-mix(in srgb,var(--accent) 9%,#fff);color:color-mix(in srgb,var(--accent) 72%,var(--ink));font:700 10px 'Plus Jakarta Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.benchmark-report .mini:hover,.benchmark-report .mini[aria-expanded="true"]{background:color-mix(in srgb,var(--accent) 20%,#fff);color:var(--accent)}
.benchmark-report .drop{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}

.benchmark-report table.pt{width:100%;border-collapse:collapse}
.benchmark-report table.pt th{padding:6px 9px;border-bottom:1px solid var(--line);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left}
.benchmark-report table.pt td{padding:6px 9px;border-top:1px solid var(--line);font-size:13px;vertical-align:middle}
.benchmark-report table.pt thead+tbody tr:first-child td{border-top:0}
.benchmark-report table.pt th.w,.benchmark-report table.pt td.w{width:66px;text-align:right;font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.benchmark-report table.pt th.sa,.benchmark-report table.pt td.sa,.benchmark-report table.pt th.sb,.benchmark-report table.pt td.sb{width:108px;text-align:right;font-family:'Playfair Display',Georgia,serif;font-size:15px;font-variant-numeric:tabular-nums}
.benchmark-report table.pt td.sa,.benchmark-report table.pt th.sa{color:var(--ca)}
.benchmark-report table.pt td.sb,.benchmark-report table.pt th.sb{color:var(--cb)}
.benchmark-report table.pt th.gp,.benchmark-report table.pt td.gp{width:100px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.benchmark-report td.gp b{font:600 15px 'Playfair Display',Georgia,serif}
.benchmark-report td.gp b.ga{color:var(--ca)}
.benchmark-report td.gp b.gb{color:var(--cb)}
.benchmark-report td.gp b.gz{color:var(--muted);font-weight:400}
.benchmark-report s.up,.benchmark-report s.dn{margin-right:6px;font-size:9px;line-height:1;vertical-align:1px;text-decoration:none}
.benchmark-report s.up{color:var(--ca)}
.benchmark-report s.dn{color:var(--red)}
.benchmark-report table.st{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.benchmark-report table.st th.sa,.benchmark-report table.st td.sa,.benchmark-report table.st th.sb,.benchmark-report table.st td.sb{width:124px}
.benchmark-report .sgrp{margin-bottom:18px}
.benchmark-report h3.grp{margin:0 0 8px;font:700 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}
.benchmark-report h3.grp a{color:inherit;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.benchmark-report h3.grp a:hover{text-decoration:none}
.benchmark-report h3.grp span{font-weight:400;font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--muted)}
.benchmark-report p.note{margin:14px 0 0;font-size:12.5px;line-height:1.6;color:var(--muted)}

.client-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.client-report-card{display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--ui-radius);background:linear-gradient(160deg,#fff 62%,#dff0e6);color:var(--ink);box-shadow:0 3px 14px #173d2c08;transition:transform .18s ease,box-shadow .18s ease}
.client-report-card.is-benchmark{border-left-color:var(--tone-amber);background:linear-gradient(160deg,#fff 62%,#f8ead2)}
.client-report-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(24,67,51,.12);text-decoration:none}
.client-report-card strong{flex:1;font:600 18px 'Playfair Display',Georgia,serif}
.client-report-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:11px;background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(23,61,49,.08)}
.client-report-card.is-benchmark .client-report-icon{color:var(--tone-amber)}
.client-report-icon svg{width:21px;height:21px}

.benchmark-editor-panes{margin-top:20px}
.benchmark-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.benchmark-tabs .mini{width:auto;min-height:0;padding:7px 14px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--muted);font:700 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase}
.benchmark-tabs .mini[aria-expanded="true"]{border-color:var(--green);background:var(--pale);color:var(--green)}
.benchmark-pane .form-grid{margin:14px 0}
.benchmark-sub{margin:20px 0 8px;font:600 17px 'Playfair Display',Georgia,serif}
.benchmark-scroll{overflow-x:auto}
.benchmark-table{width:100%;border-collapse:collapse;font-size:13px}
.benchmark-table th,.benchmark-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.benchmark-table thead th{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.benchmark-table tbody th{font-weight:600;white-space:nowrap}
.benchmark-table td.mid{text-align:center}
.benchmark-table input{min-height:34px;padding:5px 8px;border-radius:7px}
.benchmark-table select{min-height:34px;padding:4px 8px;border-radius:7px;font-size:12.5px}
.benchmark-table .mini{width:auto;min-height:0;padding:4px 10px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--muted);font-size:11px;font-weight:700}
.benchmark-add{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.benchmark-add input,.benchmark-add select{width:auto;min-width:160px}
.benchmark-add .mini{width:auto;min-height:0;padding:7px 13px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--muted);font-size:11px;font-weight:700}

@media print{
 .benchmark-report .mini,.benchmark-report .tally,.client-report-card{display:none!important}
 .benchmark-report .side select{border:0;-webkit-appearance:none;appearance:none;padding:0;background-image:none}
 .benchmark-report .blk{break-inside:auto;page-break-inside:auto;margin:0 0 14pt;padding:0;border:0;border-radius:0;background:#fff}
 .benchmark-report h2.sec{margin:0 0 6pt;padding:0 0 3pt;border-bottom:1pt solid #173d31;font-size:12.5pt;break-after:avoid;page-break-after:avoid}
 .benchmark-report h2.sec i{width:18pt;height:18pt;flex:0 0 18pt;font-size:9pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .benchmark-report .duel{margin:0;padding:5pt 0;border:0!important;border-bottom:.5pt solid #b9c6bd!important;border-radius:0;box-shadow:none;break-inside:avoid;page-break-inside:avoid}
 .benchmark-report .drop[hidden]{display:block!important}
 .benchmark-report table.pt{font-size:8.5pt}
 .benchmark-report table.pt thead{display:table-header-group}
 .benchmark-report table.pt th,.benchmark-report table.pt td{padding:3pt 5pt}
 .benchmark-report table.st{break-inside:avoid;page-break-inside:avoid;border:.5pt solid #b9c6bd;border-radius:0}
 .benchmark-report .side{border:0;border-left:2pt solid #173d31;border-radius:0;background:#fff!important;box-shadow:none}
}
.benchmark-editor,.benchmark-editor-panes,.benchmark-pane{min-width:0;max-width:100%}
.benchmark-editor .table-card{max-width:100%;overflow-x:auto}
.benchmark-editor .form-grid{min-width:0}
.benchmark-editor .form-grid label{min-width:0}

/* A ranking card keeps its Results table inside its own card */
.performance-report .rank,.performance-report .rank>*{min-width:0}
.performance-report .drop{max-width:100%;overflow-x:auto}
.performance-report .drop table.t{font-size:12.5px}
.performance-report .drop table.t th,.performance-report .drop table.t td{padding:7px 9px}
.performance-report .drop table.t th{font-size:10.5px}
.benchmark-table thead th input.head-cell{min-height:30px;padding:4px 7px;border-color:transparent;background:transparent;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.benchmark-table thead th input.head-cell:focus{border-color:#ccdad1;background:#fff}

/* Ranking calendar: one card per ranking, its windows listed inside */
.calendar-list{display:grid;gap:16px;margin-top:20px}
.calendar-card{border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--ui-radius);background:linear-gradient(170deg,#fff 72%,var(--pale));box-shadow:0 3px 14px #173d2c08;overflow:hidden}
.calendar-list .calendar-card:nth-child(4n+2){border-left-color:var(--tone-sky);background:linear-gradient(170deg,#fff 72%,#e7f1fa)}
.calendar-list .calendar-card:nth-child(4n+3){border-left-color:var(--tone-plum);background:linear-gradient(170deg,#fff 72%,#efeafa)}
.calendar-list .calendar-card:nth-child(4n+4){border-left-color:var(--tone-amber);background:linear-gradient(170deg,#fff 72%,#faf0dd)}
.calendar-card-head{display:flex;align-items:center;gap:13px;padding:16px 18px;border-bottom:1px solid var(--line)}
.calendar-card-head h3{flex:1;margin:0;font-size:19px}
.calendar-card-head h3 a{color:inherit}
.calendar-count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--muted)}
.calendar-windows{list-style:none;margin:0;padding:0}
.calendar-window{display:grid;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:#fff}
.calendar-window:last-child{border-bottom:0}
.calendar-window-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.calendar-window-head strong{font:600 17px 'Playfair Display',Georgia,serif}
.pill.calendar-state{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.calendar-window.state-open .pill.calendar-state{background:#e3f3e9;color:#116149}
.calendar-window.state-upcoming .pill.calendar-state{background:#e7f1fa;color:var(--tone-sky)}
.calendar-window.state-closed .pill.calendar-state{background:#f1f2f1;color:var(--muted)}
.calendar-window.state-announced .pill.calendar-state{background:#faf0dd;color:var(--tone-amber)}
.calendar-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.calendar-dates span{display:grid;gap:2px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfdfc}
.calendar-dates small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.calendar-dates b{font:600 15px 'Playfair Display',Georgia,serif;font-variant-numeric:tabular-nums}
.calendar-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}
.calendar-window-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.calendar-window-actions form{display:inline}
@media print{.calendar-window-actions{display:none!important}}

/* Partner accounts (20 Sep 2026) */
.partner-identity{display:flex;align-items:center;gap:10px;font-size:15px}
.partner-identity img{height:32px;width:auto;max-width:120px;object-fit:contain;border-radius:6px}
.partner-access-panel .panel-head{align-items:flex-start;gap:16px}
.partner-tab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:4px 0 12px}
.partner-tab-option{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(0,0,0,.1);border-radius:10px;cursor:pointer;font-weight:500;background:#fff}
.partner-tab-option input{width:auto;margin:0}
.partner-tab-option:has(input:checked){border-color:currentColor;background:rgba(46,125,50,.07)}
.partner-shared-only{max-width:max-content}
.partner-access-panel .form-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.partner-account-list{margin-top:16px;border-top:1px solid rgba(0,0,0,.08);padding-top:12px}
.partner-account-list ul{margin:6px 0 0;padding-left:18px;line-height:1.8}
@media (max-width:640px){.partner-tab-grid{grid-template-columns:1fr 1fr}}

/* Database vault (20 Sep 2026) */
.vault-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.vault-toolbar .toolbar{flex:1 1 320px;display:flex;gap:8px;margin:0}
.vault-toolbar-actions{display:flex;gap:8px}
.vault-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0;font-size:14px;color:#5b6b60}
.vault-breadcrumb a{color:inherit;text-decoration:none;font-weight:600}
.vault-breadcrumb a:hover{text-decoration:underline}
.vault-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}
.vault-card{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.vault-card:hover{border-color:rgba(20,83,45,.45);transform:translateY(-1px)}
.vault-symbol{font-size:22px;line-height:1;opacity:.6}
.vault-symbol.inline{font-size:15px;margin-right:2px}
.vault-note{color:#5b6b60;line-height:1.45}
.vault-meta{color:#8a978e}
.vault-note-cell{max-width:340px;white-space:normal;line-height:1.45;color:#4a584e}
.vault-folder-head .panel-head{align-items:flex-start;gap:16px}
.block{display:block}
@media (max-width:640px){.vault-grid{grid-template-columns:1fr}.vault-note-cell{max-width:none}}

/* Handbook ranking folders (20 Sep 2026) */
.handbook-category{margin-bottom:18px}
.handbook-category .panel-head{align-items:baseline}
.handbook-tool-card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;padding:16px 42px 16px 18px;border:1px solid rgba(0,0,0,.09);border-left-width:4px;border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.handbook-tool-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(20,60,40,.08)}
.handbook-tool-card h3{margin:0;font-size:17px;line-height:1.3}
.handbook-edition{font-weight:500;opacity:.7}
.handbook-publisher{letter-spacing:.06em;font-size:11px;font-weight:700;color:#6b7a70}
.handbook-tool-card .handbook-tool-go{position:absolute;right:16px;top:50%;transform:translateY(-50%);opacity:.45}
.handbook-category.handbook-tone-standing .handbook-tool-card{border-left:4px solid #2e7d52}
.handbook-category.handbook-tone-impact .handbook-tool-card{border-left:4px solid #1f6f9c}
.handbook-category.handbook-tone-subjects .handbook-tool-card{border-left:4px solid #7a5aa8}
.handbook-tool-card.is-pending{background:#fbfbfa}
.handbook-tool-card.is-pending h3,.handbook-tool-card.is-pending .handbook-publisher{opacity:.75}
.handbook-soon{align-self:flex-start;font-size:11px;background:rgba(0,0,0,.05);color:#6b7a70}
.handbook-pending{text-align:center;padding:40px 24px}
.handbook-pending-mark{display:block;font-size:34px;opacity:.35;margin-bottom:6px}
.handbook-embed-panel{padding:0;overflow:hidden}
.handbook-embed{display:block;width:100%;height:760px;border:0;background:#fff}
.handbook-upload-panel textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}
.handbook-upload-status{margin:0 0 10px}
.handbook-upload-actions{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}
.handbook-logo{display:flex;align-self:flex-start;align-items:center;justify-content:center;flex:0 0 auto;width:auto;max-width:150px;height:42px;padding:2px;border-radius:8px;background:transparent;border:0;overflow:hidden}
.handbook-logo img{max-width:150px;max-height:38px;width:auto;height:auto;object-fit:contain}
.handbook-logo.is-initials{width:42px;justify-content:center;font-weight:800;font-size:14px;letter-spacing:.04em;color:#5b6b60;background:#f4f7f5;border:1px solid rgba(0,0,0,.08)}
.handbook-logo.large{height:58px;max-width:200px}
.handbook-logo.large img{max-width:200px;max-height:54px}
.handbook-logo.large.is-initials{width:58px;font-size:18px;border-radius:14px}
.handbook-folder-heading{display:flex;align-items:flex-start;gap:16px}
.handbook-logo-form{margin-top:16px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}
.handbook-inline{display:flow-root}
.handbook-inline>.page-heading:first-child{margin-top:0}
.handbook-inline img{max-width:100%;height:auto}
.handbook-mode-choice{display:grid;gap:8px;margin-top:4px}
.handbook-mode-choice .check{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13.5px;line-height:1.45}
.handbook-mode-choice .check input{width:auto;margin:3px 0 0}
.handbook-mode-choice .field-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.handbook-guide-links{margin-top:12px}









/* Submissions & Accounts: compact credential cards (21 Sep 2026) */
.upload-warning{flex-basis:100%;margin:8px 0 0;padding:9px 12px;border-radius:10px;background:#fdecea;color:#8c2b21;font-size:13px;line-height:1.5}
.upload-warning[hidden]{display:none}
.list-more{margin:10px 2px 0}
.list-more[hidden]{display:none}
/* Record window: where the record sits, and what is attached to it (26 Sep 2026) */
.record-trail{margin:2px 0 0;font-size:13px;color:#5f7169;line-height:1.5}
.record-trail a{color:#0f4a37;text-decoration:none;border-bottom:1px solid rgba(15,74,55,.25)}
.record-trail a:hover{border-bottom-color:#0f4a37}
.record-related{margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(15,74,55,.12)}
.record-related[hidden]{display:none}
.record-related>h3{margin:0 0 12px;font-size:15px;color:#0f4a37}
.record-related-group{margin-bottom:14px}
.record-related-group h4{margin:0 0 6px;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:#6b7d76;font-weight:700}
.record-related-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.record-related-group li{display:flex;align-items:baseline;gap:8px;padding:5px 8px;border-radius:8px}
.record-related-group li:hover{background:#f2f8f5}
.record-related-group li a{color:#15342b;text-decoration:none;font-size:14px}
.record-related-group li a:hover{text-decoration:underline}
.record-related-group li small{color:#6b7d76;font-size:11.5px;white-space:nowrap}
.record-related-all{display:inline-block;margin-top:4px;padding-left:8px;font-size:12.5px;color:#0f4a37}
@media(min-width:900px){.record-related-body{column-count:2;column-gap:24px}.record-related-group{break-inside:avoid}}
/* Project workspace: one page per project (6 Oct 2026) */
.pw-heading{margin-bottom:10px}
.pw-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin:0 2px 14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}
.pw-fact{display:flex;flex-direction:column;gap:5px;padding:13px 16px;background:#fff}
.pw-fact small{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pw-fact strong{font-size:15px;font-weight:650;color:var(--ink);display:flex;align-items:center;gap:6px;min-width:0}
.pw-fact strong a{color:var(--green);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pw-fact strong a:hover{text-decoration:underline}
.pw-fact.is-late strong{color:var(--red)}
.pw-fact-progress{position:relative}
.pw-bar{display:block;height:5px;border-radius:99px;background:#e8eeea;overflow:hidden;margin-top:1px}
.pw-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1d7a5a,#3f9f79)}
.pw-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 2px 16px}
.pw-jump a{font-size:13px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#3c554c;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.pw-jump a:hover{background:var(--pale);border-color:rgba(18,92,70,.3);color:var(--green)}
.pw-form .form-grid{margin-top:4px}
.pw-form .form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.pw-readonly{margin:4px 0 0}
.pw-empty-fields{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.pw-empty-fields>summary{cursor:pointer;font-size:13px;color:var(--muted);list-style:none;display:inline-flex;align-items:center;gap:6px}
.pw-empty-fields>summary::-webkit-details-marker{display:none}
.pw-empty-fields>summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--pale);color:var(--green);font-weight:700;font-size:12px}
.pw-empty-fields[open]>summary::before{content:'–'}
.pw-empty-fields>summary:hover{color:var(--green)}
.pw-empty-fields .record-detail-grid{margin-top:12px;opacity:.75}
.pw-inline-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:0 0 12px 12px;border-top:0;background:#fbfdfc}
.pw-inline-add input,.pw-inline-add select{height:38px}
.pw-inline-add input[name=title]{flex:1 1 240px;min-width:0}
.pw-inline-add input[type=date],.pw-inline-add input[type=datetime-local]{flex:0 0 auto;width:auto;min-width:150px}
.pw-inline-add select{flex:0 0 auto;width:auto;min-width:130px}
.pw-inline-add input[name=deliverable_code]{flex:0 0 110px}
.pw-inline-add button{flex:none}
.pw-inline-add+.pw-inline-add{border-radius:12px;border-top:1px solid var(--line);margin-top:8px}
#pw-deliverables .table-card,#pw-tasks .table-card{margin-bottom:0;border-radius:12px 12px 0 0}
.pw-folder-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}
.pw-folder-name{display:flex;flex-direction:column;gap:2px}
.pw-folder-name strong{font-size:15px;color:var(--ink)}
.pw-note{margin:10px 2px 0;font-size:12.5px}
.pw-done td a{color:var(--muted)}
.pw-done td:first-child a{text-decoration:line-through}
#pw-tasks tbody tr:hover,#pw-deliverables tbody tr:hover{background:#f6faf8}
@media(max-width:700px){.pw-folder-row{align-items:flex-start}.pw-inline-add{flex-direction:column;align-items:stretch}.pw-facts{grid-template-columns:repeat(2,1fr)}}
.local-folder-note{flex-basis:100%;margin:10px 0 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.local-folder-note.is-error{color:var(--red)}
.local-folder-note:empty{display:none}
.local-folder-note p{margin:0 0 8px}
.local-folder-note[hidden]{display:none}
.local-folder-aside{margin:8px 0 0!important;font-style:italic}
.modal-form .local-folder-note{margin:0 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2,rgba(148,163,184,.08))}
.local-folder-steps kbd{display:inline-block;padding:1px 6px;margin:0 1px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:#fff;font:600 11.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}
.local-folder-path{display:flex;gap:8px;align-items:center}
.local-folder-path input{flex:1;min-width:0;height:36px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff}
.local-folder-path button{flex:none}

/* Documents: a folder and a file should never look the same (6 Oct 2026) */
.card-kind{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.card-kind:has(.card-kind-mark){padding-left:5px}
.card-kind-mark{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:7px;background:#fff;font-size:10px;font-weight:800;letter-spacing:0}
.card-kind-folder{background:rgba(18,92,70,.1);color:#0f4a37}
.card-kind-folder .card-kind-mark{font-size:13px}
/* Folders keep their colour and read as containers: solid, tinted, a thicker frame. */
.file-card.folder{border-width:2px}
.file-card.folder strong{font-size:16px}
/* Files are quieter: white, a thin coloured spine on the left, and the format spelled out. */
.file-card.document-card{position:relative;padding-left:20px;background:#fff;border-color:var(--line);box-shadow:0 2px 10px rgba(36,79,59,.05)}
.file-card.document-card::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--kind,#9aa8a2)}
.file-card.document-card strong{font-size:15px;font-weight:650}
.file-card.document-card small{color:var(--muted);font-size:12.5px}
.file-card.document-card .card-kind{background:color-mix(in srgb,var(--kind) 12%,#fff);color:var(--kind)}
.file-card.document-card:hover{border-color:color-mix(in srgb,var(--kind) 45%,var(--line));box-shadow:0 8px 22px rgba(36,79,59,.1)}
.file-card.kind-excel{--kind:#1d7a4d}
.file-card.kind-word{--kind:#2b5fa8}
.file-card.kind-pdf{--kind:#b3333e}
.file-card.kind-slides{--kind:#c2662a}
.file-card.kind-image{--kind:#7a5aa8}
.file-card.kind-video{--kind:#8a4f7d}
.file-card.kind-archive{--kind:#7a6a52}
.file-card.kind-note{--kind:#4d6159}
.file-card.kind-list{--kind:#2f7f8f}
.file-card.kind-link{--kind:#167a73}
.file-card.kind-text{--kind:#5f7169}
.file-card.kind-file{--kind:#7b8a84}
@supports not (background:color-mix(in srgb,#000 10%,#fff)){.file-card.document-card .card-kind{background:#f1f4f2;color:var(--kind)}}

/* A file with no colour of its own is tinted by what it is (6 Oct 2026) */
.file-card.document-card{background:var(--kind-wash,#fbfdfc);border-color:color-mix(in srgb,var(--kind,#9aa8a2) 26%,var(--line));border-top:5px solid var(--kind,#9aa8a2);box-shadow:0 6px 18px color-mix(in srgb,var(--kind,#9aa8a2) 10%,transparent)}
.file-card.document-card::before{display:none}
.file-card.document-card{padding-left:22px}
.file-card.document-card .card-kind{background:#fff;color:var(--kind)}
.file-card.document-card:hover{border-color:color-mix(in srgb,var(--kind) 45%,var(--line));box-shadow:0 10px 24px color-mix(in srgb,var(--kind) 18%,transparent)}
.file-card.kind-excel{--kind:#4f9170;--kind-wash:#e6f2ea}
.file-card.kind-word{--kind:#5f87bd;--kind-wash:#e7eef8}
.file-card.kind-pdf{--kind:#c0757c;--kind-wash:#f8e8e9}
.file-card.kind-slides{--kind:#cb8a5f;--kind-wash:#faece1}
.file-card.kind-image{--kind:#9280bb;--kind-wash:#eee9f7}
.file-card.kind-video{--kind:#a87a9f;--kind-wash:#f4e9f2}
.file-card.kind-archive{--kind:#a1927a;--kind-wash:#f2eee6}
.file-card.kind-note{--kind:#7d928a;--kind-wash:#ecf1ee}
.file-card.kind-list{--kind:#5f9aa6;--kind-wash:#e6f1f3}
.file-card.kind-link{--kind:#4f9a93;--kind-wash:#e4f1ef}
.file-card.kind-text{--kind:#8a968f;--kind-wash:#eef1ef}
.file-card.kind-file{--kind:#95a19b;--kind-wash:#eff2f0}
/* A colour picked by hand still wins over the type colour. */
.file-card.document-card[class*="tone-"]{background:var(--card-wash);border-top-color:var(--card-accent);border-color:color-mix(in srgb,var(--card-accent) 32%,var(--line))}

/* Record window: one scroll area, the heading and the buttons stay in place (6 Oct 2026). */
.record-detail-modal{overflow:hidden}
.record-detail-modal>article{max-height:88vh;overflow-y:auto;padding:0 24px;scrollbar-gutter:stable}
.record-detail-modal>article>header{position:sticky;top:0;z-index:2;margin:0 -24px;padding:20px 24px 16px;background:#fff}
.record-detail-modal>article>footer{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin:0 -24px;padding:14px 24px;background:#fff;border-top:1px solid var(--line)}
.record-detail-modal .record-detail-grid{max-height:none;overflow:visible;margin:18px 0}
.record-detail-modal .record-detail-grid>div{min-height:0}
.record-detail-modal .record-detail-grid:empty{display:none}
.record-detail-modal .record-related{margin-bottom:18px}
.record-detail-modal .record-actions{display:flex;flex-wrap:wrap;gap:8px;margin-right:auto}
.record-detail-modal .record-actions:empty{display:none}
@media(max-width:640px){.record-detail-modal>article{padding:0 16px}.record-detail-modal>article>header,.record-detail-modal>article>footer{margin:0 -16px;padding-left:16px;padding-right:16px}}
.record-detail-modal .record-detail-logo[hidden]{display:none!important}

/* Partner page: the partner's projects are managed here (7 Oct 2026). */
.partner-projects .feed-row{align-items:center}
.partner-project-code{display:inline-block;padding:1px 7px;border-radius:6px;background:#eef5f1;color:#0f4a37;font-size:11.5px;font-weight:700;letter-spacing:.02em;vertical-align:1px}
.partner-project-actions{display:flex;align-items:center;gap:2px;margin-left:8px}
.partner-project-actions form{margin:0}
.partner-project-actions .button{padding:6px 10px;font-size:12.5px}
@media(max-width:700px){.partner-projects .feed-row{flex-wrap:wrap}.partner-project-actions{margin-left:0;flex-basis:100%}}
#partner-projects{scroll-margin-top:96px}
#partner-projects:target{box-shadow:0 0 0 2px rgba(15,74,55,.35)}

/* Contact groups (7 Oct 2026). */
.contact-groups{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}
.contact-groups-label{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b7d76;margin-right:2px}
.contact-group-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#15342b;font:inherit;font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.contact-group-chip:hover{background:#f2f8f5;border-color:#bcd5c8}
.contact-group-chip b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eaf3ee;color:#0f4a37;font-size:11.5px;font-weight:700}
.contact-group-chip.active{background:#0f4a37;border-color:#0f4a37;color:#fff}
.contact-group-chip.active b{background:rgba(255,255,255,.2);color:#fff}
.contact-group-chip.add{border-style:dashed;color:#0f4a37;background:transparent}
.contact-group-tools{display:inline-flex;align-items:center;gap:2px;margin-left:auto}
.contact-group-tools form{margin:0}
.contact-group-note{margin:-6px 0 16px;font-size:13px;color:#5f7169}
.contact-group-tag{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;background:#eef2fb;color:#3b4a80;font-size:11.5px;font-weight:600;text-decoration:none;white-space:nowrap;vertical-align:1px}
.contact-group-tag:hover{background:#dfe6f8}
.contact-group-modal{width:min(640px,94vw)}
.contact-group-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 8px}
.contact-group-pick input[type=search]{flex:1 1 220px;min-width:0}
.contact-group-count{font-size:12.5px;font-weight:700;color:#0f4a37;white-space:nowrap}
.contact-group-list{max-height:min(44vh,380px);overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:6px 10px 10px;background:#fbfdfc}
.contact-group-partner{position:sticky;top:-6px;margin:8px -10px 2px;padding:6px 10px;background:#f2f7f4;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5f7169}
.contact-group-partner[hidden],.contact-group-option[hidden]{display:none}
.contact-group-option{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:8px;cursor:pointer;font-size:14px}
.contact-group-option:hover{background:#f2f8f5}
.contact-group-option input{width:16px;height:16px;flex:0 0 auto}

/* A list narrowed to one project says so (8 Oct 2026). */
.list-filter-note{margin:-4px 0 16px;padding:9px 14px;border:1px solid #d9e7df;border-radius:10px;background:#f4f9f6;font-size:13.5px;color:#3f5249}
.list-filter-note a{color:#0f4a37;font-weight:600}
