/* QCC shared interface system. Loaded last; domain-specific layouts stay intact. */
:root{--ink:#183247;--muted:#5e7180;--line:#dbe4e9;--panel:#fff;--panel2:#f5f8fa;--deep:#132e43;--sea:#11747a;--sea2:#e9f5f4;--r:14px;--shadow:0 3px 14px rgba(18,44,63,.045)}
html{scrollbar-gutter:stable}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;background:#f1f5f7;color:var(--ink)}body::before{opacity:.07}body::after,.bg-third{display:none}.app{grid-template-columns:232px minmax(0,1fr)}main{padding:28px 32px;min-width:0}.shell{max-width:1500px;width:100%;margin:auto}aside{padding:20px 14px;background:#132e43;overflow-y:auto;scrollbar-width:thin}.brand{padding:8px 8px 22px;gap:10px}.brand-copy strong{font-size:17px;line-height:1.25}.brand-logo{width:42px;height:42px;border-radius:9px;box-shadow:none}.brand-copy span{font-size:10px;letter-spacing:.07em}.nav{min-height:43px;border-radius:8px!important;font-size:13px!important;font-weight:550!important;line-height:1.5;padding:11px 14px!important;margin-bottom:5px!important;text-align:left}.nav.active{background:#24566b!important;color:#fff!important;box-shadow:none!important}.nav:hover:not(.active){background:#ffffff0e!important}.su{font-size:13px;line-height:1.5}
header{gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:22px}h1{font-size:30px;line-height:1.2;letter-spacing:-.035em;font-weight:650}h2{font-size:20px;line-height:1.4;letter-spacing:-.02em;font-weight:650}h3{font-size:16px;line-height:1.5;font-weight:650}p{line-height:1.65}.sub{font-size:13px;line-height:1.6;color:var(--muted)}header>.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.top{gap:14px;align-items:flex-start;flex-wrap:wrap}.card{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:22px;background:var(--panel);backdrop-filter:none}.card.flat{background:var(--panel2);box-shadow:none}.grid{gap:20px}.grid>*{min-width:0}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.actions{gap:8px;align-items:center;flex-wrap:wrap}.actions>*{max-width:100%}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.btn{border:1px solid #c7d5de;border-radius:8px;box-shadow:none;padding:10px 15px;min-height:40px;font-size:13px;line-height:1.4;font-weight:650;letter-spacing:0;transition:background-color .12s,border-color .12s;white-space:normal}.btn:hover{transform:none;box-shadow:none;border-color:#88adb8}.btn.sea{background:#11747a;color:#fff;border-color:#11747a}.btn.sea:hover{background:#0d5e64}.btn.small{min-height:34px;padding:7px 10px;font-size:12px}.btn.terra{background:#fff4f1;color:#963d32;border-color:#e9c9c2}:disabled{cursor:not-allowed!important;opacity:.55}input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-width:0;min-height:42px;border:1px solid #bdced8;border-radius:8px;background:#fff;color:#183247;padding:10px 12px;font-size:14px;line-height:1.5;box-shadow:none}textarea{resize:vertical;min-height:110px}input[type=checkbox],input[type=radio]{accent-color:#11747a;flex-shrink:0}input::placeholder,textarea::placeholder{color:#758694;opacity:1}label{line-height:1.5}:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #16888d;outline-offset:3px}input:focus,textarea:focus,select:focus{border-color:#16888d;box-shadow:none}.tag{font-size:11px;font-weight:650;line-height:1.5;padding:4px 8px;border-radius:6px;letter-spacing:0;white-space:normal}
.tabs{gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.tab{border-radius:7px;min-height:40px;padding:10px 16px;font-size:13px;font-weight:650}.tab.active{background:#173c50;color:#fff;box-shadow:none}.qcc-table-scroll{width:100%;max-width:100%;overflow:auto;border-radius:8px;scrollbar-width:thin;overscroll-behavior-x:contain}table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5}th{font-size:11px;font-weight:650;color:#5e7180;background:#f4f7f9;letter-spacing:.02em;text-transform:none;padding:13px 12px;text-align:left}td{padding:14px 12px;border-color:#e3eaee;vertical-align:middle}td>input,td>select{min-width:105px}td .btn{white-space:nowrap}table tbody tr:hover{background:#f8fbfc}
.panel{width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:26px;background:#fff;box-shadow:-12px 0 48px #132e4322;border-radius:14px 0 0 14px;overflow-y:auto;overscroll-behavior:contain}.panel>.top{position:sticky;top:-26px;z-index:10;background:#fff;padding:18px 0;border-bottom:1px solid #dbe4e9;margin-bottom:18px}.panel label{display:block;margin-top:16px;margin-bottom:6px}.back{background:#0b233650;backdrop-filter:blur(2px)}.panel textarea{line-height:1.7}.login-card{border-radius:16px;box-shadow:0 16px 60px #132e4322}.login{background:#102b3f55;backdrop-filter:blur(6px)}
.rich-doc-wrap{border:1px solid #c9d7de!important;border-radius:10px!important;box-shadow:none!important;background:#fff!important}.rich-toolbar,.rich-toolbar-v270{gap:6px!important;padding:8px!important;background:#f7fafb!important;backdrop-filter:none!important;flex-wrap:wrap!important}.rich-tool-group{border-radius:6px!important;padding:2px!important;gap:3px!important}.rich-toolbar button{min-width:32px;min-height:32px;border-radius:5px;font-size:12px;padding:6px 8px;font-weight:600}.rich-toolbar select{min-height:34px!important;padding:5px 8px!important;font-size:12px!important}.rich-editor,.company-editor{font-size:15px!important;line-height:1.85!important;padding:22px!important;min-height:280px!important;white-space:normal;overflow-wrap:anywhere;caret-color:#11747a;outline:none}.rich-editor:focus,.company-editor:focus{box-shadow:inset 0 0 0 2px #11747a22}.rich-editor p,.company-editor p{margin:0 0 1em}.rich-editor h1,.company-editor h1{font-size:28px}.rich-editor h2,.company-editor h2{font-size:22px}.rich-editor h3,.company-editor h3{font-size:18px}.company-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px;background:#f7fafb;border:1px solid #dbe4e9;border-radius:8px}
.office-hero{border-radius:14px!important}.office-intro h2{font-size:26px;line-height:1.3}.office-grid,.office-layout-v14,.finance-grid{gap:20px!important}.office-kpi,.office-mini,.finance-row,.personal-card,.checkitem,.note-card{border-radius:10px;box-shadow:none;border-color:#dbe4e9}.office-kpi strong{font-size:11px;font-weight:650;letter-spacing:.04em}.office-kpi span{font-size:25px;font-weight:650}.office-scroll-card .note-list,.office-scroll-card .reminder-list{scrollbar-width:thin}.simple-calendar-v251 .office-calendar-toolbar{gap:12px!important;align-items:center!important}.office-calendar-tools,.calendar-nav-pair{gap:8px!important;flex-wrap:wrap}.calendar-filter-card{border-radius:10px!important;box-shadow:none!important}.cal{gap:0}.day{min-width:0;min-height:100px;padding:9px;border-color:#dbe4e9}.pill{font-size:11px;line-height:1.45;overflow-wrap:anywhere}.meeting-card-v261{gap:14px!important;border-radius:10px!important;box-shadow:none!important}.meeting-date-field,.meeting-cycle-field{width:100%;min-width:0}.meeting-detail-controls{gap:14px!important}.meet-title{line-height:1.5}.prepub-tab-v270{border-radius:7px!important;min-height:40px;font-size:13px!important;font-weight:650!important}.prepub-stage-card{border-radius:14px!important}.d5-card{border-radius:10px!important;box-shadow:none!important;border-color:#dbe4e9!important}.d5-card-title{line-height:1.5!important;font-weight:650!important}.d5-lane-grid-v251{gap:16px!important}.config-quick-grid,.config-grid-v271,.config-area-list-v272{gap:16px!important}.integration-admin{border-radius:14px!important;box-shadow:none!important}.integration-doc,.integration-add{border-radius:9px}.integration-head h2{font-size:22px}.identity-row{border-radius:9px}.sync-centre-card{border-radius:14px!important}.shared-banner{font-size:11px}
@media(max-width:1200px){main{padding:24px}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.logform{grid-template-columns:repeat(2,minmax(0,1fr))}.office-grid,.finance-grid{grid-template-columns:1fr!important}}
@media(max-width:900px){.app{grid-template-columns:190px minmax(0,1fr)}main{padding:20px}aside{padding:16px 10px}.brand-logo{display:none}.two,.three,.sections,.tfgrid,.people{grid-template-columns:1fr}.panel{padding:22px}.panel>.top{top:-22px}h1{font-size:27px}.card{padding:18px}}
@media(max-width:650px){.app{display:block}aside{position:relative;width:100%;height:auto;max-height:none;padding:12px}.brand{padding:0 4px 10px;margin-bottom:8px}.brand-copy span{display:none}#nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}#nav .nav{flex:0 0 auto;margin:0!important;white-space:nowrap;min-height:38px;padding:9px 12px!important}#session{margin-top:12px}#session>.btn{display:inline-block;width:auto!important;margin:4px!important}main{padding:18px 12px}.card{padding:16px;border-radius:10px}header{align-items:flex-start;gap:12px}h1{font-size:25px}.panel{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:18px}.panel>.top{top:-18px}.office-intro{flex-wrap:wrap}.office-intro h2{font-size:23px}.hero-strip{grid-template-columns:1fr}.hero-photo{height:100px}.logform,.meeting-detail-controls{grid-template-columns:1fr!important}.rich-editor,.company-editor{padding:16px!important;font-size:15px!important}.rich-toolbar{position:static!important}.day{padding:5px;min-height:80px}.cal .pill{font-size:10px;padding:3px}.actions .btn{min-height:38px}.login-card{width:calc(100vw - 24px);padding:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Shared Office columns keep the divider and gutters aligned across rows. */
.office-top-v14,.office-layout-v14{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
.office-top-v14{margin-bottom:20px}.office-top-v14>.card,.office-layout-v14>.card{min-width:0}
.office-layout-v14>.card>.top{min-height:44px;align-items:center}
@media(max-width:1200px){.office-top-v14,.office-layout-v14{grid-template-columns:1fr!important}}

/* Compact brand with the original emblem optically centred inside its frame.
   Source canvas 580 x 554; coloured seal centre (313.5, 297.5). */
.brand{flex-direction:column;justify-content:center;align-items:center!important;text-align:center;gap:14px;padding:20px 10px!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important}
.brand-mark{display:block;position:relative;flex:none;width:64px;height:64px;border-radius:16px;background:#fff;overflow:hidden}
.brand-emblem{position:absolute;left:50%;top:50%;width:80px;max-width:none;height:auto;display:block;transform:translate(-54.05%,-53.70%)}
.brand-copy{align-items:center;width:100%;gap:6px}
.brand-copy strong{font-family:"Helvetica Neue",Arial,sans-serif;font-size:16px!important;font-weight:500!important;line-height:1.4!important;letter-spacing:.005em!important;max-width:none}
.brand-copy span{display:block!important;font-family:"Helvetica Neue",Arial,sans-serif;font-size:10px!important;font-weight:400!important;line-height:1.5;letter-spacing:.08em!important;text-transform:none;color:#bdcec9;margin:0}
/* Section destinations use compact, keyboard-accessible navigation rows. */
.section-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.section-navigation .section{width:100%;min-height:104px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;color:var(--ink);font:inherit;border-radius:10px;box-shadow:none;transition:background-color .15s,border-color .15s}
.section-navigation .section-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.section-navigation .code{font-size:11px;font-weight:600;letter-spacing:.08em;color:#82725b}
.section-navigation .name{display:block;margin:0;min-height:0;font-size:18px;line-height:1.4;font-weight:550;letter-spacing:-.015em;overflow-wrap:break-word}
.section-navigation .section-arrow{flex:none;font-size:22px;font-weight:400;color:#66877d}
.section-navigation .section:hover{transform:none;box-shadow:none;border-color:#9aae9f;background:var(--panel2)!important}
.section-navigation .section-admin{grid-column:1/-1}
@media(max-width:650px){.section-navigation{grid-template-columns:1fr}.section-navigation .section{min-height:88px;padding:16px 18px}.brand{padding:12px!important;gap:10px}.brand-mark{width:56px;height:56px}.brand-emblem{width:72px}}

/* Keep navigation and account controls in separate layout rows. */
aside{display:flex;flex-direction:column;box-sizing:border-box;height:100dvh;overflow:hidden}
aside>.brand{flex:0 0 auto}
aside>#nav{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin}
aside>#nav>.nav{flex:0 0 auto}
aside>.session{position:static!important;flex:0 0 auto;margin-top:14px;left:auto;right:auto;bottom:auto}
@media(max-width:650px){aside{height:auto;overflow:visible}aside>#nav{flex-direction:row;overflow-x:auto;overflow-y:hidden}aside>.session{margin-top:12px}}
