/*
 * GPS Team Hub — Harmony
 * Concept 3, introduced in v1.38.0.
 *
 * Principles: one product typeface, an 8px spacing rhythm, neutral surfaces,
 * GPS green for brand/primary actions, navy for structure, and warm/critical
 * colors only when they communicate meaning. Presentation only; no workflow
 * or data behavior is changed.
 */

.gpslh-app{
  --h-green-700:#176b4d;
  --h-green-600:#1f7a57;
  --h-green-500:#2c8b65;
  --h-green-100:#e8f3ed;
  --h-green-050:#f3f8f5;
  --h-navy-900:#17324d;
  --h-navy-700:#345066;
  --h-gray-700:#53645c;
  --h-gray-500:#718078;
  --h-gray-300:#cfd9d3;
  --h-gray-200:#dfe6e2;
  --h-gray-100:#eef2f0;
  --h-canvas:#f5f7f6;
  --h-surface:#ffffff;
  --h-warm:#d9772f;
  --h-warm-soft:#fff3e8;
  --h-danger:#b74d45;
  --h-danger-soft:#fcefed;
  --h-success:#287a4b;
  --h-success-soft:#eaf5ee;
  --h-info:#3e6f8f;
  --h-info-soft:#edf4f8;
  --h-shadow-1:0 1px 2px rgba(23,50,77,.04),0 5px 15px rgba(23,50,77,.04);
  --h-shadow-2:0 2px 5px rgba(23,50,77,.04),0 14px 34px rgba(23,50,77,.07);
  --h-shadow-modal:0 28px 80px rgba(11,35,29,.26);
  --h-r8:8px;
  --h-r12:12px;
  --h-r16:16px;
  --h-s1:4px;
  --h-s2:8px;
  --h-s3:12px;
  --h-s4:16px;
  --h-s5:24px;
  --h-s6:32px;
  --h-s7:40px;
  --gps-green:var(--h-green-700);
  --gps-green-dark:#10543c;
  --gps-green-soft:var(--h-green-100);
  --gps-navy:var(--h-navy-900);
  --ink:var(--h-navy-900);
  --muted:var(--h-gray-500);
  --line:var(--h-gray-200);
  --bg:var(--h-canvas);
  min-height:100vh;
  background:var(--h-canvas);
  color:var(--h-navy-900);
  font-family:"Segoe UI Variable","Aptos","Segoe UI",Roboto,Arial,sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.gpslh-app *{scrollbar-width:thin;scrollbar-color:#aebbb4 transparent}
.gpslh-app *::selection{background:#d6ebe0;color:#123f2e}
.gpslh-app h1,.gpslh-app h2,.gpslh-app h3,.gpslh-app h4,.gpslh-app h5,.gpslh-app h6{font-family:inherit;font-weight:700;letter-spacing:-.025em}
.gpslh-app p,.gpslh-app li,.gpslh-app dd{font-weight:400}
.gpslh-app button,.gpslh-app input,.gpslh-app select,.gpslh-app textarea{font-family:inherit}
.gpslh-app button,.gpslh-app a,.gpslh-app input,.gpslh-app select,.gpslh-app textarea,.gpslh-app summary{transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}
.gpslh-app button:focus-visible,.gpslh-app a:focus-visible,.gpslh-app input:focus-visible,.gpslh-app select:focus-visible,.gpslh-app textarea:focus-visible,.gpslh-app summary:focus-visible{outline:3px solid rgba(31,122,87,.20);outline-offset:2px}

/* Shell and persistent navigation */
.gpslh-standalone-page,.gpslh-standalone-main{background:var(--h-canvas)!important}
.gpslh-shell{min-height:100vh;grid-template-columns:252px minmax(0,1fr);border:0;border-radius:0;background:var(--h-canvas);overflow:visible}
.gpslh-shell>aside{position:sticky;z-index:40;top:0;align-self:start;height:100vh;overflow-x:hidden;overflow-y:auto;border:0;border-right:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,#16364c 0%,#112c3e 56%,#0e2737 100%);padding:24px 16px 16px;box-shadow:8px 0 25px rgba(23,50,77,.08)}
.gpslh-brand{min-height:56px;gap:12px;margin:0 4px 24px;padding:6px;color:#fff;font-size:17px;font-weight:700;letter-spacing:-.015em}
.gpslh-brand img{width:44px;height:44px;border:4px solid #fff;border-radius:12px;background:#fff;object-fit:cover;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.gpslh-shell nav{gap:6px}.gpslh-shell nav button,.gpslh-side-bottom>a{min-height:44px;gap:12px;border:1px solid transparent;border-radius:10px;background:transparent;color:rgba(241,247,250,.72);padding:10px 12px;font-size:13px;font-weight:600}
.gpslh-shell nav button:hover,.gpslh-shell nav button:focus-visible,.gpslh-side-bottom>a:hover,.gpslh-side-bottom>a:focus-visible{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.06);color:#fff;outline:0}
.gpslh-shell nav button.active{border-color:rgba(255,255,255,.12);background:var(--h-green-700);color:#fff;box-shadow:inset 3px 0 0 #7cdbb4,0 7px 18px rgba(0,0,0,.11)}
.gpslh-shell nav i,.gpslh-side-bottom>a i{display:grid;place-items:center;width:22px;height:22px;color:#91d8bf;font-size:18px}.gpslh-nav-group>button>b{color:#9fcbbb}
.gpslh-risk-side-nav{margin:2px 0 8px 23px;border-left-color:rgba(255,255,255,.12);padding-left:11px}.gpslh-shell nav .gpslh-risk-side-nav button{min-height:35px;border-radius:8px;color:rgba(241,247,250,.63);padding:8px 10px;font-size:11px}.gpslh-shell nav .gpslh-risk-side-nav button:hover,.gpslh-shell nav .gpslh-risk-side-nav button:focus-visible{background:rgba(255,255,255,.06);color:#fff}.gpslh-shell nav .gpslh-risk-side-nav button.active{background:rgba(124,219,180,.12);color:#fff;box-shadow:inset 3px 0 0 #7cdbb4}
.gpslh-side-bottom,.gpslh-standalone-page .gpslh-side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.10);background:transparent!important;padding-top:12px}.gpslh-side-bottom>a{color:rgba(241,247,250,.70)}
.gpslh-person{margin-top:4px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.05)!important;padding:10px}.gpslh-person>b{width:35px;height:35px;border:0;background:#d9f1e7;color:#155d45;font-size:11px}.gpslh-person span strong{color:#fff;font-size:11px}.gpslh-person span small{color:rgba(241,247,250,.54);font-size:10px}.gpslh-logout{color:rgba(241,247,250,.52)!important;font-size:10px!important}

/* Calm brand header and page frame */
.gpslh-shell>main{position:relative;min-width:0;padding:0 clamp(24px,3vw,48px) 48px;background:radial-gradient(circle at 92% 12%,rgba(31,122,87,.055),transparent 25rem),var(--h-canvas)}
.gpslh-shell>main>header{position:relative;isolation:isolate;min-height:152px;margin:0 calc(clamp(24px,3vw,48px)*-1);padding:34px clamp(30px,4vw,62px) 42px;overflow:hidden;border:0;background:linear-gradient(100deg,rgba(13,54,48,.96) 0%,rgba(23,107,77,.86) 55%,rgba(23,50,77,.55) 100%),url("../img/gps-workspace-hero-v2.png") center 50%/cover no-repeat;box-shadow:0 10px 28px rgba(18,66,52,.12)}
.gpslh-shell>main>header:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.gpslh-shell>main>header:after{content:"GPS TEAM WORKSPACE";position:absolute;right:clamp(30px,4vw,62px);bottom:22px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(7,38,31,.25);color:rgba(255,255,255,.78);padding:6px 10px;font-size:10px;font-weight:700;letter-spacing:.09em;backdrop-filter:blur(7px)}
.gpslh-shell>main>header p{margin:0 0 7px;color:#d7f1e5;font-size:11px;font-weight:700;letter-spacing:.12em}.gpslh-shell>main>header h1{margin:0;color:#fff;font-family:inherit;font-size:clamp(30px,2.7vw,40px);font-weight:700;letter-spacing:-.035em;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.14)}
.gpslh-shell>main>section{position:relative;z-index:2;max-width:1600px;margin:-20px auto 0}.gpslh-shell>main>footer{max-width:1600px;margin:0 auto;padding-top:40px;color:#74837b;font-size:11px}

/* Page leads: same hierarchy everywhere */
.gpslh-library-head,.gpslh-learning-overview,.gpslh-assessment-next,.gpslh-team-overview,.gpslh-risk-hero,.gpslh-onboard-head,.gpslh-doc-head,.gpslh-law-head{position:relative;overflow:hidden;border:1px solid var(--h-gray-200);border-top:3px solid var(--h-green-700);border-radius:var(--h-r16);background:rgba(255,255,255,.98);padding:24px 28px;box-shadow:var(--h-shadow-2)}
.gpslh-library-head:after,.gpslh-learning-overview:after,.gpslh-assessment-next:after,.gpslh-team-overview:after,.gpslh-risk-hero:after,.gpslh-onboard-head:after,.gpslh-doc-head:after,.gpslh-law-head:after{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-105px;border-radius:50%;background:radial-gradient(circle,var(--h-green-100),transparent 69%);pointer-events:none}.gpslh-library-head>*,.gpslh-learning-overview>*,.gpslh-assessment-next>*,.gpslh-team-overview>*,.gpslh-risk-hero>*,.gpslh-onboard-head>*,.gpslh-doc-head>*,.gpslh-law-head>*{position:relative;z-index:1}
.gpslh-library-head{min-height:140px;align-items:center}.gpslh-library-head>div:first-child{border-left:4px solid var(--h-green-700);padding-left:16px}
.gpslh-library-head p,.gpslh-heading p,.gpslh-learning-overview em,.gpslh-assessment-next em,.gpslh-team-overview em,.gpslh-risk-hero em,.gpslh-onboard-head em{color:var(--h-green-700);font-size:11px;font-weight:700;letter-spacing:.09em}.gpslh-library-head h2,.gpslh-learning-overview h2,.gpslh-assessment-next h2,.gpslh-team-overview h2,.gpslh-risk-hero h2,.gpslh-onboard-head h2{color:var(--h-navy-900);font-family:inherit;font-size:clamp(22px,1.8vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.2}.gpslh-learning-overview p,.gpslh-assessment-next p,.gpslh-team-overview p,.gpslh-risk-hero p,.gpslh-onboard-head p{font-size:13px;line-height:1.55}
.gpslh-heading{margin:32px 0 14px;padding:0 2px}.gpslh-heading h2,.gpslh-page-section-heading h2{font-size:20px;font-weight:700;letter-spacing:-.02em}.gpslh-page-section-heading>span,.gpslh-home-section-heading>span{font-size:11px}

/* Surfaces and grouping */
.gpslh-ai,.gpslh-next,.gpslh-metrics article,.gpslh-course,.gpslh-articles article,.gpslh-table,.gpslh-assessment-callout,.gpslh-home-quick-panel,.gpslh-home-knowledge-card,.gpslh-learning-status article,.gpslh-assessment-summary article,.gpslh-team-metrics article,.gpslh-risk-metrics article,.gpslh-risk-card,.gpslh-onboard-panel,.gpslh-onboard-history,.gpslh-doc-report-body,.gpslh-doc-score-breakdown,.gpslh-rob-history,.gpslh-monthly-readiness,.gpslh-law-card,.gpslh-current-rule-library,.gpslh-leadership-decision,.gpslh-future-secondary{border-color:var(--h-gray-200);border-radius:var(--h-r12);background:var(--h-surface);box-shadow:var(--h-shadow-1)}
.gpslh-course,.gpslh-articles article,.gpslh-topic-folder,.gpslh-home-knowledge-card,.gpslh-home-quick-grid>button,.gpslh-risk-card,.gpslh-law-card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.gpslh-course:hover,.gpslh-articles article:hover,.gpslh-topic-folder:hover,.gpslh-home-knowledge-card:hover,.gpslh-risk-card:hover,.gpslh-law-card:hover{transform:translateY(-2px);border-color:#b9cbc0;box-shadow:var(--h-shadow-2)}

/* Form rhythm, labels, helper text, and actions */
.gpslh-app input,.gpslh-app select,.gpslh-app textarea{border-color:var(--h-gray-300);border-radius:var(--h-r8);background:#fff;color:var(--h-navy-900);font-size:13px}.gpslh-app input:focus,.gpslh-app select:focus,.gpslh-app textarea:focus{border-color:var(--h-green-600);box-shadow:0 0 0 3px rgba(31,122,87,.11);outline:0}
.gpslh-app label,.gpslh-editor-field{color:var(--h-navy-700);font-size:11px;font-weight:600}.gpslh-app label>small,.gpslh-app form label small,.gpslh-editor-field>small,.gpslh-onboard-grid small,.gpslh-onboard-review label small{display:block;margin-top:2px;color:var(--h-gray-500);font-size:10px!important;font-weight:400!important;line-height:1.4;letter-spacing:0;text-transform:none}
.gpslh-library-actions .gpslh-add-knowledge,.gpslh-assessment-next>button,.gpslh-risk-hero>button,.gpslh-onboard-head>button.primary,.gpslh-risk-form-actions button[type=submit],.gpslh-law-workflow>button,.gpslh-leadership-decision>button{min-height:40px;border:1px solid var(--h-green-700);border-radius:var(--h-r8);background:var(--h-green-700);color:#fff;padding:9px 14px;font-size:12px;font-weight:700;box-shadow:0 5px 12px rgba(23,107,77,.15)}.gpslh-library-actions .gpslh-add-knowledge:hover,.gpslh-assessment-next>button:hover,.gpslh-risk-hero>button:hover,.gpslh-law-workflow>button:hover,.gpslh-leadership-decision>button:hover{transform:translateY(-1px);background:#105b41}
.gpslh-review-queue-button,.gpslh-my-submissions-button,.gpslh-bulk-change-button{min-height:40px;border-color:#b9ccc0;border-radius:var(--h-r8);background:#fff;padding:9px 12px;color:var(--h-green-700);font-size:12px}.gpslh-workflow-actions,.gpslh-risk-form-actions,.gpslh-suggestion-actions,.gpslh-editor-actions{align-items:center;gap:8px}
.gpslh-library-actions #gpslh-kb-search{min-height:43px;border-radius:var(--h-r8);padding:10px 13px 10px 40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23718078' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat 14px center}.gpslh-tags{gap:8px;margin:16px 0}.gpslh-tags button{min-height:36px;border-radius:999px;padding:7px 14px;font-size:12px}.gpslh-tags button.active,.gpslh-tags button:first-child.active{border-color:var(--h-green-700);background:var(--h-green-700);color:#fff}

/* Home: one harmonious hierarchy */
.gpslh-home-launch-grid{gap:16px}.gpslh-home-dashboard .gpslh-home-next,.gpslh-home-quick-panel{min-height:286px;border-radius:var(--h-r16);padding:26px 28px}.gpslh-home-dashboard .gpslh-home-next{border:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.12),transparent 13rem),linear-gradient(135deg,#176b4d 0%,#1d7458 50%,#285c70 100%);box-shadow:0 17px 36px rgba(19,82,63,.18)}.gpslh-home-dashboard .gpslh-home-next .gpslh-home-card-icon{background:rgba(255,255,255,.13);color:#fff}.gpslh-home-dashboard .gpslh-home-next .gpslh-home-card-heading small,.gpslh-home-dashboard .gpslh-home-next .gpslh-home-course-meta{color:#d4eee3}.gpslh-home-dashboard .gpslh-home-next .gpslh-home-card-heading strong{color:#fff;font-size:21px}.gpslh-home-dashboard .gpslh-home-next>p{color:rgba(255,255,255,.78);font-size:13px}.gpslh-home-dashboard .gpslh-home-next .gpslh-progress{background:rgba(255,255,255,.16)}.gpslh-home-dashboard .gpslh-home-next .gpslh-progress i{background:#f3b37e}.gpslh-home-dashboard .gpslh-home-next>button{background:#fff;color:var(--h-green-700);font-size:12px;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.gpslh-home-quick-panel{border-top:3px solid var(--h-green-700)}.gpslh-home-quick-panel>div:first-child h2{font-family:inherit;font-size:20px;font-weight:700}.gpslh-home-quick-grid{gap:9px}.gpslh-home-quick-grid>button{min-height:86px;border-color:var(--h-gray-200);border-radius:10px;background:#fbfcfb;padding:12px 13px}.gpslh-home-quick-grid>button>i,.gpslh-home-quick-grid>button:nth-child(n)>i{background:var(--h-green-100);color:var(--h-green-700)}.gpslh-home-quick-grid>button:last-child>i{background:var(--h-warm-soft);color:var(--h-warm)}.gpslh-home-quick-grid>button:hover{transform:translateY(-1px);border-color:#b9cbc0;box-shadow:var(--h-shadow-1)}.gpslh-home-quick-grid>button strong{font-size:12px}.gpslh-home-quick-grid>button small{font-size:10px}
.gpslh-home-knowledge-grid{gap:14px}.gpslh-home-knowledge-card,.gpslh-home-knowledge-card:nth-child(n){min-height:238px;border-top:3px solid var(--h-green-700);border-radius:var(--h-r12);padding:20px}.gpslh-home-knowledge-card h3{font-size:15px}.gpslh-home-knowledge-card p{font-size:12px}.gpslh-home-knowledge-card button{font-size:11px}.gpslh-home-manager{border:1px solid #cfe0d6;border-left:4px solid var(--h-green-700);border-radius:var(--h-r12);background:var(--h-green-050);padding:20px 22px}

/* Learning and knowledge */
.gpslh-learning-status,.gpslh-assessment-summary{gap:12px;margin-top:16px}.gpslh-learning-status article,.gpslh-assessment-summary article{position:relative;min-height:78px;overflow:hidden;border-radius:var(--h-r12);padding:16px 18px}.gpslh-learning-status article:before,.gpslh-assessment-summary article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--h-green-700)}.gpslh-learning-status strong,.gpslh-assessment-summary strong{font-size:23px}.gpslh-learning-status span,.gpslh-assessment-summary span{font-size:11px}
.gpslh-course-grid{gap:14px}.gpslh-learning-page .gpslh-course,.gpslh-home-dashboard .gpslh-course{min-height:270px;border-radius:var(--h-r12)}.gpslh-learning-page .gpslh-cover,.gpslh-home-dashboard .gpslh-cover,.gpslh-learning-page .gpslh-cover.tone-1,.gpslh-home-dashboard .gpslh-cover.tone-1,.gpslh-learning-page .gpslh-cover.tone-2,.gpslh-home-dashboard .gpslh-cover.tone-2{height:88px;background:linear-gradient(135deg,#176b4d,#285c70);color:#fff;padding:16px 18px}.gpslh-learning-page .gpslh-cover.tone-1,.gpslh-home-dashboard .gpslh-cover.tone-1{background:linear-gradient(135deg,#285c70,#3e7185)}.gpslh-learning-page .gpslh-cover.tone-2,.gpslh-home-dashboard .gpslh-cover.tone-2{background:linear-gradient(135deg,#9b5c2f,#d28a4d)}.gpslh-learning-page .gpslh-course>div:last-child,.gpslh-home-dashboard .gpslh-course>div:last-child{padding:18px}.gpslh-learning-page .gpslh-course h3,.gpslh-home-dashboard .gpslh-course h3{font-size:15px}.gpslh-learning-page .gpslh-course p,.gpslh-home-dashboard .gpslh-course p{font-size:12px;line-height:1.55}
.gpslh-topic-folders{gap:14px;margin-top:16px}.gpslh-topic-folder,.gpslh-topic-folder:nth-child(n){min-height:164px;border:1px solid var(--h-gray-200);border-top:3px solid var(--h-green-700);border-radius:var(--h-r12);padding:20px}.gpslh-topic-folder:nth-child(n) .gpslh-folder-icon{background:var(--h-green-100);color:var(--h-green-700)}.gpslh-topic-folder strong{font-size:14px}.gpslh-topic-folder small,.gpslh-topic-folder i{font-size:11px}.gpslh-folder-icon{width:50px;height:40px;border-radius:8px;margin-bottom:16px}
.gpslh-articles{gap:14px}.gpslh-articles article,.gpslh-articles article:nth-child(n){border-top:3px solid var(--h-green-700);border-radius:var(--h-r12);padding:20px}.gpslh-articles h3{font-size:15px}.gpslh-articles article>span{font-size:12px;line-height:1.55}.gpslh-articles article>p,.gpslh-articles article>button{font-size:11px}

/* Assessments, risk, laws, and reports */
.gpslh-table{border-radius:var(--h-r12)}.gpslh-table>div{min-height:55px;padding:14px 17px;font-size:12px}.gpslh-table>div.head{background:#f7f9f8;font-size:10px}
.gpslh-risk-metrics,.gpslh-law-metrics{gap:12px}.gpslh-risk-metrics article,.gpslh-law-metrics article{position:relative;min-height:84px;overflow:hidden;padding:17px 19px}.gpslh-risk-metrics article:before,.gpslh-law-metrics article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--h-green-700)}.gpslh-risk-metrics strong,.gpslh-law-metrics strong{font-size:25px}.gpslh-risk-metrics span,.gpslh-law-metrics span{font-size:12px}
.gpslh-risk-card,.gpslh-law-card,.gpslh-law-card:nth-child(n){border-top:3px solid var(--h-green-700);border-radius:var(--h-r12);padding:18px}.gpslh-risk-card h3,.gpslh-law-card h3{font-size:16px}.gpslh-law-card dl>div{padding-top:8px}.gpslh-law-card dt{font-size:10px}.gpslh-law-card dd{font-size:12px}.gpslh-risk-card.high,.gpslh-law-card.changed{border-top-color:var(--h-danger)}
.gpslh-law-safety,.gpslh-rob-note{border-left:4px solid var(--h-warm);border-radius:0 10px 10px 0;background:var(--h-warm-soft);padding:12px 14px;font-size:12px}.gpslh-law-safety strong,.gpslh-rob-note strong{color:#914e1d}.gpslh-law-workflow{gap:10px}.gpslh-law-workflow article{border-radius:10px;padding:13px}.gpslh-law-workflow article>b{background:var(--h-green-100);color:var(--h-green-700)}.gpslh-law-workflow article strong{font-size:12px}.gpslh-law-workflow article small{font-size:10px}.gpslh-leadership-decision{border-left:4px solid var(--h-green-700);border-radius:var(--h-r12);padding:18px}
.gpslh-law-tabs{align-items:center;gap:7px}.gpslh-law-tabs button{min-height:38px;border-color:var(--h-gray-300);border-radius:var(--h-r8);background:#fff;color:var(--h-navy-700);font-size:12px}.gpslh-law-tabs button.active{border-color:var(--h-green-700);background:var(--h-green-700);color:#fff}.gpslh-current-rule-library{padding:18px}.gpslh-current-rule-library>header{padding-bottom:12px;border-bottom:1px solid var(--h-gray-100)}
.gpslh-future-task{border-color:#cfe0d6;border-left-color:var(--h-green-700);background:var(--h-green-050)}.gpslh-policy-area-tags span{background:var(--h-green-100);color:var(--h-green-700)}

/* Dialog system: clear zones, restrained sizing, stable actions */
.gpslh-modal{background:rgba(10,30,34,.70);padding:24px;backdrop-filter:blur(7px)}.gpslh-modal>div,.gpslh-reader{border:1px solid rgba(255,255,255,.4);border-radius:var(--h-r16);background:#fff;box-shadow:var(--h-shadow-modal)}.gpslh-modal>div{width:min(700px,100%);max-height:90vh;overflow:auto;padding:28px}.gpslh-modal .gpslh-bulk-editor{width:min(1000px,100%)}.gpslh-modal .gpslh-kb-editor{width:min(800px,100%)}
.gpslh-kb-modal-head{top:-28px;margin:-28px -28px 0;padding:23px 28px 16px;border-bottom:1px solid var(--h-gray-200);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.gpslh-kb-modal-head p{margin-bottom:5px;color:var(--h-green-700);font-size:10px;font-weight:700;letter-spacing:.09em}.gpslh-kb-modal-head h2{font-family:inherit;font-size:24px;font-weight:700;letter-spacing:-.03em}.gpslh-kb-modal-head>div>span{max-width:650px;color:var(--h-gray-700);font-size:12px;line-height:1.5}.gpslh-kb-modal-head .gpslh-modal-close{width:38px;height:38px;border-color:var(--h-gray-300);background:#fff;color:var(--h-navy-700);box-shadow:var(--h-shadow-1)}
.gpslh-review-safety,.gpslh-bulk-safety{margin-top:16px;border-left:4px solid var(--h-info);border-radius:0 9px 9px 0;background:var(--h-info-soft);padding:11px 13px;color:var(--h-navy-700);font-size:10px}.gpslh-modal .gpslh-kb-form{gap:16px}.gpslh-modal .gpslh-kb-form label{font-size:11px}.gpslh-modal .gpslh-kb-form input,.gpslh-modal .gpslh-kb-form select,.gpslh-modal .gpslh-kb-form textarea{min-height:43px;border-radius:var(--h-r8);padding:10px 12px;font-size:13px}
.gpslh-editor-actions,.gpslh-suggestion-actions{position:sticky;z-index:6;bottom:-28px;margin:8px -28px -28px;padding:14px 28px 18px;border-top:1px solid var(--h-gray-200);background:rgba(255,255,255,.97);box-shadow:0 -8px 18px rgba(23,50,77,.04);backdrop-filter:blur(10px)}
.gpslh-bulk-change-summary,.gpslh-bulk-results{border-radius:var(--h-r12)}.gpslh-bulk-match{border-radius:10px}.gpslh-bulk-card-title strong{font-size:12px}.gpslh-bulk-card-title small{font-size:10px}.gpslh-bulk-card-review h3{font-family:inherit;font-size:25px;font-weight:700}.gpslh-bulk-card-review>header span{font-size:10px}.gpslh-bulk-occurrence{border-radius:10px}.gpslh-bulk-occurrence>button{padding:11px 13px}.gpslh-bulk-occurrence>button strong,.gpslh-bulk-occurrence>button small{font-size:10px}.gpslh-bulk-review-diff>div{border-radius:10px;padding:16px}.gpslh-bulk-review-diff p{font-size:12px;line-height:1.65}
.gpslh-reader{width:min(940px,100%);max-height:92vh}.gpslh-reader>header{padding:25px 29px 20px;background:#fff}.gpslh-reader>header h1{font-family:inherit;font-size:29px;font-weight:700}.gpslh-reader-summary{margin:24px 30px 0;border-left-color:var(--h-green-700);background:var(--h-green-050)}.gpslh-reader-content{padding:26px 30px 40px;font-size:15px;line-height:1.72}.gpslh-reader-content h2,.gpslh-reader-content h3{font-family:inherit;font-weight:700}.gpslh-reader>footer{position:sticky;bottom:0;border-top:1px solid var(--h-gray-200);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}

/* AI belongs to the same product */
.gpslh-chat-launcher{right:24px;bottom:22px;background:var(--h-green-700);box-shadow:0 14px 32px rgba(23,107,77,.26);padding:10px 17px 10px 10px}.gpslh-chat-launcher>span{width:37px;height:37px;color:var(--h-green-700)}.gpslh-chat-launcher>strong{font-size:12px}.gpslh-chat-panel{right:24px;bottom:22px;border-color:#c8d8cf;border-radius:var(--h-r16);box-shadow:var(--h-shadow-modal)}.gpslh-chat-panel>header{background:linear-gradient(135deg,#176b4d,#285c70);padding:16px 17px}.gpslh-chat-panel>header>div:first-child>b{color:var(--h-green-700)}.gpslh-chat-history{background:#f4f7f5}.gpslh-chat-message>p,.gpslh-chat-answer{border-radius:5px 13px 13px 13px;padding:11px 12px;font-size:12px;box-shadow:var(--h-shadow-1)}.gpslh-chat-message.user>p{border-color:var(--h-green-700);border-radius:13px 5px 13px 13px;background:var(--h-green-700)}.gpslh-chat-panel>form button{background:var(--h-green-700)}

/* Login */
.gpslh-login{max-width:470px;margin:7vh auto;border:1px solid var(--h-gray-200);border-top:4px solid var(--h-green-700);border-radius:var(--h-r16);background:#fff;padding:42px;box-shadow:0 25px 70px rgba(18,66,50,.14)}.gpslh-login-mark{width:62px;height:62px;border-radius:16px;background:#fff}.gpslh-login-mark img{width:100%;height:100%;border-radius:16px;object-fit:cover}.gpslh-login h2{font-family:inherit;font-size:28px;font-weight:700;letter-spacing:-.03em}.gpslh-login>span{font-size:13px}.gpslh-login-form input[type=text],.gpslh-login-form input[type=password]{min-height:45px;border-radius:var(--h-r8);font-size:14px}.gpslh-login-form button{min-height:45px;border-radius:var(--h-r8);background:var(--h-green-700);font-size:13px;box-shadow:0 6px 15px rgba(23,107,77,.17)}

/* Responsive behavior */
@media(max-width:1180px){.gpslh-shell{grid-template-columns:84px minmax(0,1fr)}.gpslh-shell>aside{padding-inline:11px}.gpslh-brand{justify-content:center;padding-inline:0}.gpslh-brand span,.gpslh-shell nav button>span,.gpslh-side-bottom>a>span,.gpslh-person span,.gpslh-logout{display:none}.gpslh-shell nav button,.gpslh-side-bottom>a{justify-content:center;padding-inline:9px}.gpslh-person{justify-content:center;padding:8px}.gpslh-risk-side-nav,.gpslh-nav-group.is-open .gpslh-risk-side-nav{display:none}.gpslh-library-head{align-items:flex-start;flex-direction:column}.gpslh-library-actions{width:100%;justify-content:flex-start}}
@media(max-width:760px){.gpslh-shell{display:block}.gpslh-shell>aside{position:fixed;z-index:99990;top:auto;bottom:0;left:0;right:0;width:auto;height:auto;overflow:visible;border:0;border-top:1px solid rgba(255,255,255,.11);padding:6px 8px;background:linear-gradient(180deg,#16364c,#0e2737)}.gpslh-shell nav{display:flex;justify-content:space-around;gap:4px}.gpslh-shell nav>.gpslh-nav-group{display:block}.gpslh-shell nav button{min-width:48px;min-height:48px;padding:8px}.gpslh-shell nav button.active{box-shadow:inset 0 -3px 0 #7cdbb4}.gpslh-brand,.gpslh-side-bottom{display:none}.gpslh-shell>main{padding:0 14px 86px}.gpslh-shell>main>header{min-height:145px;margin:0 -14px;padding:28px 20px 42px}.gpslh-shell>main>header:after{display:none}.gpslh-shell>main>header h1{font-size:29px}.gpslh-shell>main>section{margin-top:-18px}.gpslh-library-head,.gpslh-learning-overview,.gpslh-assessment-next,.gpslh-team-overview,.gpslh-risk-hero,.gpslh-onboard-head,.gpslh-doc-head,.gpslh-law-head{border-radius:var(--h-r12);padding:20px}.gpslh-library-actions{display:grid}.gpslh-workflow-actions{display:grid;grid-template-columns:1fr 1fr}.gpslh-library-actions #gpslh-kb-search{margin:0}.gpslh-learning-overview,.gpslh-assessment-next,.gpslh-team-overview,.gpslh-risk-hero,.gpslh-onboard-head{align-items:flex-start;flex-direction:column}.gpslh-learning-status,.gpslh-assessment-summary,.gpslh-risk-metrics,.gpslh-law-metrics{grid-template-columns:1fr 1fr}.gpslh-modal{padding:10px}.gpslh-modal>div{padding:21px 16px;border-radius:var(--h-r12)}.gpslh-kb-modal-head{top:-21px;margin:-21px -16px 0;padding:19px 16px 14px}.gpslh-kb-modal-head h2{font-size:22px}.gpslh-editor-actions,.gpslh-suggestion-actions{bottom:-21px;margin:8px -16px -21px;padding:13px 16px 17px}.gpslh-chat-launcher{right:14px;bottom:73px}.gpslh-chat-panel,.gpslh-chat-panel.is-expanded{right:10px;bottom:69px;width:calc(100vw - 20px);height:calc(100vh - 88px);border-radius:14px}}
@media(max-width:520px){.gpslh-learning-status,.gpslh-assessment-summary,.gpslh-risk-metrics,.gpslh-law-metrics{grid-template-columns:1fr}.gpslh-home-dashboard .gpslh-home-next,.gpslh-home-quick-panel{padding:20px}.gpslh-tags{overflow-x:auto;padding-bottom:4px}.gpslh-tags button{flex:none}.gpslh-modal .gpslh-bulk-editor{width:100%}}
@media(prefers-reduced-motion:reduce){.gpslh-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
