/* ═══ TOOLBAR SYSTEM ═══ */
body.toolbar-active{padding-top:56px;}
.app-toolbar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--white);border-bottom:1px solid var(--g200);display:none;align-items:center;justify-content:space-between;padding:0 16px;z-index:1000;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.app-toolbar.active{display:flex;}
.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:12px;}
.toolbar-btn{padding:0.5rem 1rem;border:1px solid var(--g200);background:var(--white);color:var(--g900);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.5rem;font-size:0.875rem;font-weight:600;transition:all 0.2s ease;}
.toolbar-btn svg{width:20px;height:20px;display:block;}
.toolbar-btn:hover{border-color:var(--gold);}
.toolbar-btn:active{transform:scale(0.95);}
.toolbar-logo{display:flex;align-items:center;gap:10px;}
.toolbar-logo .logo-icon-img{width:32px;height:32px;object-fit:contain;}
.toolbar-logo .logo-text{font-family:'Playfair Display',Georgia,serif!important;font-weight:600;font-size:1.25rem;color:var(--navy);}
.toolbar-logo .logo-text .logo-accent{color:var(--gold-light);}
@media(max-width:600px){.toolbar-logo .logo-text{display:none;}.toolbar-btn span{display:none;}}

/* Profile Dropdown */
.toolbar-profile{position:relative;}
.profile-btn{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:transparent;border:1px solid var(--g200);border-radius:24px;cursor:pointer;transition:all 0.2s ease;}
.profile-btn:hover{background:var(--g50);border-color:var(--g400);}
.profile-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--gold));color:#fff;font-weight:700;font-size:0.8rem;display:flex;align-items:center;justify-content:center;}
.profile-name{font-size:0.875rem;font-weight:500;color:var(--g900);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-chevron{color:var(--g400);transition:transform 0.2s ease;}
@media(max-width:600px){.profile-name{display:none;}.profile-btn{padding:6px;border-radius:50%;}.profile-chevron{display:none;}}
.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--white);border:1px solid var(--g200);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.15);opacity:0;visibility:hidden;transform:translateY(-10px) scale(0.95);transform-origin:top right;transition:all 0.2s ease;z-index:1001;}
.profile-dropdown.active{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.dropdown-user-info{display:flex;align-items:center;gap:12px;padding:16px;}
.dropdown-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--gold));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;}
.dropdown-user-details{flex:1;min-width:0;}
.dropdown-user-name{font-weight:600;font-size:0.95rem;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dropdown-user-email{font-size:0.8rem;color:var(--g500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dropdown-user-plan{font-size:0.75rem;color:var(--gold);font-weight:600;margin-top:2px;}
.dropdown-divider{height:1px;background:var(--g200);margin:0;}
.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;width:100%;font-size:0.875rem;font-weight:500;color:var(--g900);cursor:pointer;transition:all 0.15s ease;text-align:left;font-family:var(--font);}
.dropdown-item:hover{background:var(--g50);}
.dropdown-item svg{width:16px;height:16px;color:var(--g400);}

/* App Launcher */
.app-launcher-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);opacity:0;visibility:hidden;transition:opacity 0.2s ease;z-index:998;}
.app-launcher-overlay.active{opacity:1;visibility:visible;}
.app-launcher{position:fixed;top:64px;left:16px;width:420px;background:var(--white);border:1px solid var(--g200);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.15);opacity:0;visibility:hidden;transform:scale(0.9) translateY(-10px);transform-origin:top left;transition:all 0.2s cubic-bezier(0.4,0,0.2,1);z-index:999;overflow:hidden;max-height:80vh;}
.app-launcher.active{opacity:1;visibility:visible;transform:scale(1) translateY(0);}
.app-launcher-header{padding:16px 20px;border-bottom:1px solid var(--g200);font-weight:600;font-size:0.9rem;color:var(--g900);}
.app-launcher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;max-height:calc(80vh - 52px);overflow-y:auto;}
.app-launcher-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all 0.2s ease;text-decoration:none;color:var(--g900);}
.app-launcher-item:hover{background:var(--g50);border-color:var(--g200);}
.app-launcher-item.current{background:var(--g50);border-color:var(--gold);}
.app-launcher-icon{width:40px;height:40px;border-radius:10px;background:var(--g50);display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;}
.app-emoji{font-size:1.35rem;}
.app-launcher-item:hover .app-launcher-icon{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,0.1);}
.app-launcher-label{font-size:0.7rem;font-weight:500;text-align:center;line-height:1.3;}
@media(max-width:480px){.app-launcher{left:8px;right:8px;width:auto;}.app-launcher-grid{grid-template-columns:repeat(2,1fr);}}

/* ═══ BASE ═══ */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --white:#fff;--bg:#F7F8FA;
  --g50:#FAFAFA;--g100:#F3F4F6;--g200:#E5E7EB;--g300:#D1D5DB;--g400:#9CA3AF;--g500:#6B7280;--g600:#4B5563;--g700:#374151;--g800:#1F2937;--g900:#111827;
  --navy:#0F1D2F;--navy2:#162A42;
  --gold:#B8963E;--gold-light:#D4AF5C;--gold-muted:#C9A84C;--gold-bg:#FAF6EE;
  --blue:#1E40AF;--blue-light:#EFF6FF;--blue-mid:#3B82F6;
  --green:#047857;--green-bg:#F0FDF4;--amber:#B45309;--amber-bg:#FFFBEB;--red:#B91C1C;--red-bg:#FEF2F2;
  --font:'Inter',-apple-system,system-ui,sans-serif;
  --border:1px solid #E5E7EB;
}
body{font-family:var(--font);background:var(--bg);color:var(--g900);line-height:1.75;font-size:15px;-webkit-font-smoothing:antialiased;}
.screen{display:none;min-height:100vh;}.screen.active{display:flex;}

/* ═══ INPUT ═══ */
.input-screen{flex-direction:column;}
.input-body{display:flex;justify-content:center;padding:40px 24px 60px;}
.input-wrap{max-width:600px;width:100%;}
.input-wrap>h2{font-size:22px;font-weight:700;margin-bottom:4px;color:var(--navy);}
.input-wrap>p{font-size:14px;color:var(--g500);margin-bottom:24px;}
.card{background:var(--white);border:var(--border);border-radius:4px;}
.card-head{padding:12px 20px;border-bottom:var(--border);font-size:11px;font-weight:700;color:white;letter-spacing:.8px;text-transform:uppercase;background:var(--navy);border-radius:4px 4px 0 0;}
.card-body{padding:24px;}
.fg{margin-bottom:16px;}
.fl{display:block;font-size:12px;font-weight:600;color:var(--g700);margin-bottom:4px;}
.fl .opt{font-weight:400;color:var(--g400);}
.fi{width:100%;padding:9px 12px;border:1px solid var(--g300);border-radius:4px;font-family:var(--font);font-size:13px;color:var(--g900);transition:border-color .15s;}
.fi:focus{outline:none;border-color:var(--blue-mid);box-shadow:0 0 0 2px rgba(59,130,246,.1);}
.fi::placeholder{color:var(--g400);}
textarea.fi{min-height:90px;resize:vertical;line-height:1.6;}

/* ═══ DROPZONE ═══ */
.dz{border:2px dashed var(--g300);border-radius:4px;padding:20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:8px;position:relative;}
.dz:hover,.dz.over{border-color:var(--gold);background:var(--gold-bg);}
.dz-icon{font-size:24px;margin-bottom:4px;color:var(--g400);}
.dz-text{font-size:13px;color:var(--g500);line-height:1.5;}
.dz-text strong{color:var(--navy);cursor:pointer;}
.dz-hint{font-size:11px;color:var(--g400);margin-top:4px;}
.dz input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.dz-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.dz-file{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--g50);border:1px solid var(--g200);border-radius:3px;font-size:11px;font-weight:600;color:var(--navy);}
.dz-file .dz-x{cursor:pointer;color:var(--g400);font-weight:700;margin-left:2px;font-size:13px;}
.dz-file .dz-x:hover{color:var(--red);}
.dz-file .dz-sz{color:var(--g400);font-weight:400;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;}
.pill{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;background:var(--g50);border:1px solid var(--g200);border-radius:3px;font-size:11px;font-weight:600;color:var(--navy);cursor:pointer;}
.pill.off{opacity:.35;}
.pill input{accent-color:var(--navy);width:11px;height:11px;cursor:pointer;}
.btn{width:100%;padding:12px;background:var(--navy);border:none;border-radius:4px;font-family:var(--font);font-size:14px;font-weight:700;color:white;cursor:pointer;transition:.15s;}
.btn:hover{background:var(--navy2);}
.btn:disabled{opacity:.35;cursor:not-allowed;}
.val-hint{font-size:12px;color:var(--g500);margin-top:10px;line-height:1.45;min-height:1.2em;}
.btn.loading{animation:bp 2s ease infinite;}
@keyframes bp{0%,100%{opacity:1;}50%{opacity:.5;}}

/* ═══ PROGRESS ═══ */
.progress-screen{flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;}
.prog-card{background:var(--white);border:var(--border);border-radius:4px;padding:32px;max-width:560px;width:100%;}
.prog-title{font-size:16px;font-weight:700;text-align:center;margin-bottom:2px;}
.prog-sub{font-size:13px;color:var(--g500);text-align:center;margin-bottom:20px;}
.prog-track{height:3px;background:var(--g200);margin-bottom:24px;overflow:hidden;}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--navy),var(--gold));width:0;transition:width .5s;}
.ps{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--g100);}
.ps:last-child{border-bottom:none;}
.pi{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;}
.pi.w{background:var(--g100);color:var(--g400);}
.pi.r{background:var(--navy);color:white;animation:pp 1.5s infinite;}
.pi.c{background:var(--green);color:white;}
.pi.f{background:var(--red);color:white;}
.pi.s{background:var(--g300);color:var(--g600);}
@keyframes pp{0%,100%{opacity:1;}50%{opacity:.5;}}
.pl{flex:1;font-size:13px;font-weight:500;color:var(--g600);}
.pt{font-size:11px;color:var(--g400);font-variant-numeric:tabular-nums;}
.pstat{text-align:center;margin-top:14px;font-size:12px;color:var(--g500);}
.perr{display:none;margin-top:12px;padding:10px 14px;background:var(--red-bg);border:1px solid rgba(185,28,28,.15);font-size:12px;color:var(--red);}

/* ═══ REPORT ═══ */
.report-screen{flex-direction:column;}
.rbar{position:sticky;top:0;z-index:100;height:46px;padding:0 24px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;}
body.toolbar-active .rbar{top:56px;}
.rbar-title{font-size:12px;font-weight:700;color:white;letter-spacing:.3px;}
.rbtn{padding:5px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:3px;font-family:var(--font);font-size:11px;font-weight:600;color:white;cursor:pointer;}
.rbtn:hover{background:rgba(255,255,255,.12);}
.rscroll{max-width:820px;width:100%;margin:0 auto;padding:28px 20px 60px;}

/* EXPORT BAR */
.xbar{background:var(--white);border:var(--border);padding:14px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;}
.xbar-label{font-size:11px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.8px;}
.xbar-btns{display:flex;gap:6px;}
.xbtn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border:1px solid var(--g300);background:var(--white);font-family:var(--font);font-size:12px;font-weight:600;color:var(--g700);cursor:pointer;transition:.15s;}
.xbtn:hover{background:var(--g50);border-color:var(--g400);}
.xbtn.pri{background:var(--navy);color:white;border-color:var(--navy);}
.xbtn:disabled{opacity:.4;cursor:wait;}
.xtoast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--g800);color:white;padding:10px 20px;border-radius:4px;font-size:12px;font-weight:600;z-index:999;display:none;}

/* ═══ DOCUMENT CARDS ═══ */
.dc{background:var(--white);border:var(--border);margin-bottom:2px;overflow:hidden;}
.dc:first-child{border-radius:4px 4px 0 0;}.dc:last-of-type{border-radius:0 0 4px 4px;margin-bottom:20px;}
.dc-body{padding:32px 40px;}
.dc-divider{height:1px;background:var(--g200);}

/* Section header inside card */
.sec-head{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--gold);}
.sec-num{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:2px;}
.sec-title{font-size:18px;font-weight:700;color:var(--navy);letter-spacing:-.2px;}

/* ═══ BODY TEXT ═══ */
.sb{font-size:15px;line-height:1.85;color:var(--g700);}
.sb h3{font-size:13px;font-weight:700;color:var(--navy);margin:28px 0 10px;text-transform:uppercase;letter-spacing:.5px;}
.sb h3:first-child{margin-top:0;}
.sb p{margin-bottom:14px;}
.sb blockquote{border-left:2px solid var(--g300);padding:12px 20px;margin:16px 0;background:var(--g50);font-size:14px;color:var(--g800);line-height:1.8;}
.sb ul,.sb ol{margin:10px 0 16px 20px;}
.sb li{margin-bottom:8px;}
.sb table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px;}
.sb th{background:var(--g50);border:1px solid var(--g200);padding:8px 12px;text-align:left;font-weight:700;font-size:12px;color:var(--g800);}
.sb td{border:1px solid var(--g200);padding:8px 12px;}

/* EXEC — white card, thin blue top */
.dc.exec{border-top:3px solid var(--navy);}
.dc.exec .sb h3{color:var(--navy);text-transform:uppercase;}

/* ═══ COMPONENT CARDS ═══ */
.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:16px 0;background:var(--g200);border:1px solid var(--g200);}
.metric-card{background:var(--white);padding:20px 16px;text-align:center;border-top:2px solid var(--navy);}
.metric-value{font-size:24px;font-weight:800;color:var(--navy);letter-spacing:-.5px;}
.metric-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--g400);margin-top:4px;}
.metric-delta{font-size:12px;font-weight:700;margin-top:6px;}
.metric-delta.positive{color:var(--green);}.metric-delta.negative{color:var(--red);}.metric-delta.neutral{color:var(--g500);}

.kpi-card{border:var(--border);padding:20px;margin:8px 0;border-left:3px solid var(--g300);}
.kpi-card.green{border-left-color:var(--green);}.kpi-card.amber{border-left-color:var(--amber);}.kpi-card.red{border-left-color:var(--red);}
.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.kpi-name{font-weight:700;font-size:14px;color:var(--g900);}
.kpi-status{font-size:14px;}.kpi-status.green{color:var(--green);}.kpi-status.amber{color:var(--amber);}.kpi-status.red{color:var(--red);}
.kpi-value{font-size:22px;font-weight:800;color:var(--navy);}
.kpi-target{font-size:12px;color:var(--g500);margin:2px 0 10px;}
.kpi-bar{height:3px;background:var(--g200);overflow:hidden;}
.kpi-fill{height:100%;background:var(--navy);}
.kpi-insight{font-size:13px;color:var(--g500);margin-top:8px;line-height:1.65;}

.risk-card{border:var(--border);padding:20px;margin:8px 0;border-left:3px solid var(--g300);}
.risk-card.critical{border-left-color:var(--red);}.risk-card.high{border-left-color:var(--amber);}
.risk-card.medium{border-left-color:var(--amber);}.risk-card.low{border-left-color:var(--green);}
.risk-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.risk-title{font-weight:700;font-size:14px;color:var(--g900);}
.risk-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border:1px solid;color:var(--g600);background:var(--g50);}
.risk-badge.critical{color:var(--red);border-color:var(--red);background:var(--red-bg);}.risk-badge.high{color:var(--amber);border-color:var(--amber);background:var(--amber-bg);}
.risk-badge.medium{color:var(--amber);border-color:var(--amber);}.risk-badge.low{color:var(--green);border-color:var(--green);background:var(--green-bg);}
.risk-detail,.risk-mitigation{font-size:13px;color:var(--g600);margin-bottom:4px;line-height:1.65;}

.initiative-card{border:var(--border);padding:20px;margin:8px 0;border-left:3px solid var(--g300);}
.initiative-card.on-track{border-left-color:var(--green);}.initiative-card.at-risk{border-left-color:var(--amber);}
.initiative-card.delayed{border-left-color:var(--red);}.initiative-card.complete{border-left-color:var(--g900);}
.init-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.init-name{font-weight:700;font-size:14px;color:var(--g900);}
.init-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border:1px solid var(--g300);color:var(--g600);}
.init-badge.on-track{color:var(--green);border-color:var(--green);}.init-badge.at-risk{color:var(--amber);border-color:var(--amber);}.init-badge.delayed{color:var(--red);border-color:var(--red);}.init-badge.complete{color:var(--g900);border-color:var(--g900);}
.init-progress{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.init-bar{flex:1;height:3px;background:var(--g200);overflow:hidden;}
.init-fill{height:100%;background:var(--navy);}
.init-pct{font-size:13px;font-weight:700;color:var(--navy);}
.init-details{font-size:13px;color:var(--g600);line-height:1.75;}

.resolution-card{border:var(--border);padding:24px;margin:8px 0;}
.res-number{font-size:10px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:4px;}

/* ═══ GUARDIAN CONFIDENCE BARS ═══ */
.guardian-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--g50);border-radius:3px;border-left:3px solid var(--g300);margin:4px 0;font-size:11px;color:var(--g600);}
.guardian-bar .gb-icon{font-size:14px;flex-shrink:0;}
.gb-level{font-weight:700;padding:1px 6px;border-radius:2px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;}
.gb-level.high{background:var(--green-bg);color:var(--green);border:1px solid var(--green);}
.gb-level.medium{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber);}
.gb-level.low{background:var(--red-bg);color:var(--red);border:1px solid var(--red);}
.resolution-card h4{font-size:15px;font-weight:700;color:var(--g900);margin-bottom:6px;}
.res-background{font-size:13px;color:var(--g600);margin-bottom:10px;line-height:1.75;}
.res-recommendation{font-size:14px;color:var(--g800);margin-bottom:10px;line-height:1.75;}
.res-action{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border:1px solid;}
.res-action.Approve{color:var(--green);border-color:var(--green);}.res-action.Note{color:var(--g600);border-color:var(--g300);}.res-action.Discuss{color:var(--amber);border-color:var(--amber);}

.rfooter{text-align:center;padding:20px 0 0;margin-top:32px;border-top:2px solid var(--gold);}
.rfooter span{font-size:9px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;font-weight:600;}

@media(max-width:640px){.row2,.row3{grid-template-columns:1fr;}.dc-body{padding:20px 16px;}.metric-strip{grid-template-columns:1fr 1fr;}.xbar{flex-direction:column;gap:10px;}.xbar-btns{width:100%;justify-content:center;}}
