/*
 * Canva reference-inspired visual system
 * Deep black canvas, electric-blue light, translucent panels, large type,
 * generous spacing. Existing department colours and application behaviour stay intact.
 */
:root{
  --bg:#07090d;
  --card:#10151d;
  --ink:#f7f9fc;
  --muted:#9ba8b8;
  --navy:#080b11;
  --navy2:#dfe9f7;
  --accent:#6ca8ff;
  --line:rgba(188,211,239,.16);
  --green:#6bd6a7;
  --greenbg:rgba(55,173,121,.14);
  --red:#ff8b8b;
  --redbg:rgba(216,77,77,.14);
  --amber:#ffd479;
  --amberbg:rgba(229,169,45,.14);
  --blue:#438cff;
  --blue-soft:#a9dcff;
  --surface:#10151d;
  --surface-2:#151c26;
  --glow:0 22px 70px rgba(0,78,209,.18);
}

html{background:#07090d}
body{
  background:
    radial-gradient(circle at 82% -8%,rgba(54,126,255,.30),transparent 31rem),
    radial-gradient(circle at 18% 26%,rgba(91,180,255,.11),transparent 27rem),
    #07090d;
  color:var(--ink);
  font-family:"Avenir Next","Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:15px;
  letter-spacing:.012em;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 75%);
  z-index:-1;
}

.app-shell{grid-template-columns:264px minmax(0,1fr)}
.sidebar{
  background:rgba(7,9,13,.88);
  border-right:1px solid var(--line);
  padding:34px 24px 26px;
  backdrop-filter:blur(24px);
}
.sidebar-brand{padding:0 8px 28px;border-color:var(--line)}
.sidebar-brand strong{font-size:20px;line-height:1.35;letter-spacing:-.025em}
.sidebar-brand span{margin-top:7px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#93a3b7;opacity:1}
.ceo-card{margin:16px 0 18px;padding:16px 9px;border-radius:18px;background:linear-gradient(135deg,rgba(83,145,255,.14),rgba(255,255,255,.025));border:1px solid rgba(115,169,255,.18)}
.ceo-avatar{width:46px;height:46px;background:linear-gradient(145deg,#bfe6ff,#3c81ff);color:#061224;box-shadow:0 8px 28px rgba(54,127,255,.26)}
.ceo-card strong{font-size:14px}.ceo-card small{font-size:9px;letter-spacing:.08em;color:#9ba9ba;opacity:1}
.side-nav{gap:7px}
.side-nav a{padding:12px 14px;border-radius:999px;font-size:12px;font-weight:650;color:#b9c4d1;transition:.2s ease}
.side-nav a:hover{transform:translateX(3px);background:rgba(78,137,255,.13)}
.side-nav a.active{background:linear-gradient(90deg,#3079f4,#6aa8ff);color:#fff;box-shadow:0 10px 28px rgba(49,121,244,.24)}
.sidebar-request{padding:14px;border-radius:999px;background:linear-gradient(90deg,#2e79f5,#71b6ff);box-shadow:0 12px 32px rgba(42,119,241,.28);font-size:12px;letter-spacing:.02em}
.sidebar-logout{color:#788799;font-size:11px}

.topbar{
  height:88px;
  padding:0 4.5vw;
  background:rgba(7,9,13,.74);
  border-bottom:1px solid var(--line);
  box-shadow:none;
  backdrop-filter:blur(22px);
}
.mobile-brand{font-size:18px;letter-spacing:-.025em}
.subtitle{margin-top:2px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#8d9aac;opacity:1}
.topbar .account-name{font-size:11px;color:#9ca9b9}
.topbar nav{gap:18px}
.topbar nav .primary-link{padding:11px 18px;border:1px solid rgba(169,220,255,.42);border-radius:999px;background:linear-gradient(90deg,#367ff7,#6db8ff);color:#fff;box-shadow:0 10px 28px rgba(44,122,245,.24);font-size:12px;font-weight:800}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-picker{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 11px;border:1px solid rgba(173,205,239,.22);border-radius:999px;background:rgba(255,255,255,.055);color:#dce8f5;transition:.2s ease}
.theme-picker:hover{border-color:rgba(132,190,255,.55);background:rgba(89,151,255,.12)}
.theme-picker-icon{font-size:13px;line-height:1}
.theme-select{width:auto!important;min-width:75px;padding:5px 20px 5px 4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font:inherit;font-size:10px;font-weight:800;letter-spacing:.03em;cursor:pointer}

.app-main .container,.container{width:min(1320px,91%);margin:58px auto 96px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(38px,5vw,66px);line-height:1.04;letter-spacing:-.052em;font-weight:720}
h2{letter-spacing:-.032em;line-height:1.2}
h3{letter-spacing:-.02em}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#75b7ff;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.eyebrow:before{content:"";width:20px;height:1px;background:currentColor}
.dashboard-head{align-items:center;margin-bottom:42px}
.dashboard-head>div{max-width:760px}
.dashboard-head p,.page-list-head p,.hero p{max-width:720px;margin:18px 0 0;color:#9aa8b7;font-size:15px;line-height:1.9}

.btn{border-radius:999px;padding:13px 21px;font-size:12px;font-weight:800;letter-spacing:.015em;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn.primary,.dna-button{background:linear-gradient(90deg,#347df4,#75bbff);color:#fff;box-shadow:0 12px 30px rgba(41,119,244,.24)}
.btn.secondary{background:#18212c;color:#eaf2ff;border-color:rgba(187,211,239,.18)}
.btn.warn{background:linear-gradient(90deg,#cc9231,#f3c66b);color:#16120a}
.btn.danger{background:linear-gradient(90deg,#a7444f,#e4787e);color:#fff}

.dashboard-stats{gap:18px;margin-bottom:42px}
.dashboard-stats>div,.panel,.form-card,.case-card,.department-card,.output-section,.knowledge-section,.knowledge-page-list,.output-page-card,.metric-card,.empty{
  background:linear-gradient(145deg,rgba(22,30,41,.97),rgba(10,14,20,.97));
  border:1px solid var(--line);
  box-shadow:var(--glow);
}
.dashboard-stats>div{position:relative;overflow:hidden;border-radius:22px;padding:25px 26px}
.dashboard-stats>div:after{content:"";position:absolute;right:-35px;top:-50px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(88,161,255,.22),transparent 66%)}
.dashboard-stats span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#91a1b4}
.dashboard-stats strong{font-size:36px;line-height:1.2}
.dashboard-stats .workflow-stat strong{font-size:16px;color:#f6f9ff}

.dashboard-section{margin:48px 0}
.section-heading{align-items:center;margin-bottom:20px}
.section-heading h2{margin:7px 0 0;font-size:24px}
.section-heading small{color:#8f9cad}
.section-heading>a,.department-card>span,.department-page-grid .department-card>b,.output-list>a>strong,.knowledge-action,.department-case-list strong{color:#78b9ff}

.department-grid{gap:18px}
.department-card{position:relative;overflow:hidden;min-height:230px;padding:24px;border-radius:24px;border-top-width:1px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.department-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:var(--team,#4f8bd9)}
.department-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(0,92,230,.23)}
.department-card.secretary{--team:#5298ff;border-color:rgba(82,152,255,.38)}
.department-card.research{--team:#61c6a5;border-color:rgba(97,198,165,.38)}
.department-card.marketing{--team:#b07df1;border-color:rgba(176,125,241,.38)}
.department-card.quality{--team:#f19473;border-color:rgba(241,148,115,.38)}
.department-card h3{margin:15px 0 8px;font-size:17px}.department-card p{color:#9aa8b8;line-height:1.75}
.department-icon{background:rgba(255,255,255,.06);border:1px solid var(--line)}
.mini-activity,.worker-message{background:rgba(255,255,255,.045)!important;color:#aab6c4!important;border:1px solid rgba(255,255,255,.035)}

.company-flow{gap:10px;padding:24px;border-radius:24px;background:linear-gradient(100deg,rgba(35,91,183,.30),rgba(18,24,34,.97) 45%,rgba(37,111,215,.22));border-color:rgba(100,162,255,.27);box-shadow:var(--glow)}
.company-flow>div{min-width:155px;padding:16px;border-radius:16px;background:rgba(5,9,15,.48);border:1px solid rgba(180,211,255,.1)}
.company-flow b{background:linear-gradient(145deg,#84c8ff,#347cf4);box-shadow:0 5px 16px rgba(56,128,247,.28)}
.company-flow small{color:#8494a8}
.company-flow i{color:#5f7897}

.approval-section{padding:26px;border-radius:24px;background:linear-gradient(135deg,rgba(150,104,18,.20),rgba(22,20,15,.95));border-color:rgba(255,199,85,.30)}
.approval-list>a{border-color:rgba(255,223,157,.12)}
.approval-list em{background:rgba(241,184,62,.16);color:#ffd782}
.dashboard-two-column{gap:20px}
.output-section,.knowledge-section{padding:25px;border-radius:24px}
.output-list>a,.knowledge-list>div{padding:15px 2px;border-color:var(--line)}
.output-type{background:rgba(75,142,248,.14);color:#8dc5ff;border:1px solid rgba(88,157,255,.2)}
.output-list small,.knowledge-list small{color:#8997a8}
.company-dna-card{padding:30px;border-radius:26px;background:linear-gradient(120deg,rgba(41,98,191,.35),rgba(16,22,31,.96) 50%,rgba(91,159,255,.14));border-color:rgba(102,165,255,.3);box-shadow:var(--glow)}

.case-grid{gap:18px}
.case-card{padding:24px;border-radius:22px;transition:.2s ease}
.case-card:hover{border-color:rgba(105,171,255,.44);box-shadow:0 24px 60px rgba(0,75,190,.21)}
.case-id{color:#75b7ff}.badge{background:rgba(255,255,255,.07);color:#bcc8d5}
.case-card p,.meta{color:#8795a6}

.page-list-head{margin:6px 0 42px}.page-list-head h1{margin-bottom:0}
.department-page-grid,.department-detail-grid,.outputs-page-grid{gap:20px}
.department-hero{padding:30px;border-radius:24px;background:linear-gradient(135deg,rgba(25,35,49,.98),rgba(10,14,20,.98));border-color:var(--line);box-shadow:var(--glow)}
.knowledge-guide,.dna-guide{padding:20px 22px;border-radius:16px;background:linear-gradient(90deg,rgba(54,127,246,.21),rgba(20,27,38,.94));border-color:#66a8ff}
.knowledge-page-list{border-radius:24px;padding:0 28px}.knowledge-page-list article{padding:23px 0;border-color:var(--line)}
.output-page-card{border-radius:22px;padding:24px}

.form-card,.panel{border-radius:24px;padding:28px}
.auth-card{
  width:min(520px,90vw);
  margin:7vh auto;
  padding:42px;
  border:1px solid rgba(145,190,255,.23);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(20,29,42,.98),rgba(8,12,18,.98));
  box-shadow:0 34px 100px rgba(0,67,176,.26);
}
.auth-card h1{margin:12px 0 18px;font-size:48px;color:#f7f9fc}
.auth-card>p{color:#9aa8b8;line-height:1.8}
.auth-card form{display:flex;flex-direction:column;gap:16px}
.auth-card label{display:flex;flex-direction:column;gap:7px;color:#d9e4f0;font-size:12px;font-weight:700}
.auth-card label small{color:#7f8da0;font-weight:500}
.auth-card .auth-submit{margin-top:8px}
.auth-link{color:#8c9aac!important}.auth-link a{color:#8fc7ff!important}
label,.field label{color:#d9e3ef}
input,textarea,select{
  background:#0b1017!important;
  color:#f5f8fc!important;
  border:1px solid rgba(177,207,239,.2)!important;
  border-radius:14px!important;
  padding:13px 15px!important;
}
input:focus,textarea:focus,select:focus{border-color:#65a8ff!important;box-shadow:0 0 0 4px rgba(61,139,255,.12)!important;outline:0}
input::placeholder,textarea::placeholder{color:#647286}

.workflow{border-color:var(--line)}
.step{background:#151c26;color:#7f8d9d}.step.active{background:linear-gradient(90deg,#367ff5,#72b7ff);color:#fff}.step.done{background:rgba(56,177,126,.14);color:#7ce0b2}
.status-box,.research-progress,.research-history,.research-comparison,.research-decision{background:#111822;border-color:rgba(173,205,238,.18);color:#eaf1f9}
.report-nav{background:#0d131b;border-color:var(--line)}
.research-report{color:#d9e3ef}.research-report h2{background:linear-gradient(90deg,#256fdf,#6aafff);color:white}.research-report h3{color:#ecf4ff}
.report-table-wrap{border-color:#41556d;background:#0c1118;box-shadow:var(--glow)}
.report-table{background:#0c1118}.report-table th{background:#14233a}.report-table td{color:#d8e2ed;border-color:#344459}.report-table tbody tr:nth-child(odd) td{background:#0e151e}.report-table tbody tr:nth-child(even) td{background:#131d28}.report-table tbody tr:hover td{background:#192b43}.report-table td:first-child{color:#9acbff}
.source-row{color:#a9cfff;border-color:var(--line)}
.log-row,.back-navigation{border-color:var(--line)}

@media(max-width:1050px){
  .app-shell{grid-template-columns:218px minmax(0,1fr)}
  .sidebar{padding-inline:18px}
}
@media(max-width:620px){
  body{font-size:14px;background:radial-gradient(circle at 90% 0,rgba(54,126,255,.24),transparent 21rem),#07090d}
  .topbar{height:68px}.app-main .container,.container{width:90%;margin:34px auto 68px}
  h1{font-size:38px}.dashboard-head{margin-bottom:30px}.dashboard-head p,.page-list-head p,.hero p{font-size:13px;line-height:1.75}
  .dashboard-stats{gap:12px}.dashboard-stats>div{padding:19px;border-radius:18px}
  .dashboard-section{margin:36px 0}.section-heading{align-items:flex-start;gap:8px}.section-heading h2{font-size:21px}
  .department-card,.case-card,.panel,.form-card,.output-section,.knowledge-section{border-radius:20px}
  .company-flow{border-radius:20px;padding:18px}.company-flow>div{padding:14px}
  .auth-card{width:100%;margin:4vh auto;padding:28px 22px;border-radius:22px}.auth-card h1{font-size:38px}
  .theme-picker{padding-left:8px}.theme-select{min-width:68px;font-size:9px}.topbar .account-name{display:none}
}

/* Light mode keeps the same blue visual language with an airy white canvas. */
html[data-theme="light"]{background:#edf4fb;color-scheme:light}
html[data-theme="light"] body{
  background:
    radial-gradient(circle at 84% -8%,rgba(76,146,255,.24),transparent 33rem),
    radial-gradient(circle at 12% 32%,rgba(135,207,255,.20),transparent 28rem),
    #edf4fb;
  color:#142033;
  --bg:#edf4fb;--card:#fff;--ink:#142033;--muted:#64758a;--navy:#102238;--navy2:#253d5c;
  --line:rgba(40,76,119,.15);--surface:#fff;--surface-2:#f4f8fc;--glow:0 20px 55px rgba(45,101,169,.12);
}
html[data-theme="light"] body:before{background-image:linear-gradient(rgba(31,78,130,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(31,78,130,.035) 1px,transparent 1px)}
html[data-theme="light"] .sidebar{background:rgba(245,249,253,.90);color:#15243a;border-color:rgba(40,76,119,.13)}
html[data-theme="light"] .sidebar-brand{border-color:rgba(40,76,119,.13)}
html[data-theme="light"] .sidebar-brand span,html[data-theme="light"] .ceo-card small{color:#6d7f94}
html[data-theme="light"] .ceo-card{background:linear-gradient(135deg,rgba(83,145,255,.15),rgba(255,255,255,.62));border-color:rgba(63,125,215,.17)}
html[data-theme="light"] .side-nav a{color:#4e6076}
html[data-theme="light"] .side-nav a:hover{background:rgba(61,128,232,.10)}
html[data-theme="light"] .sidebar-logout{color:#718197}
html[data-theme="light"] .topbar{background:rgba(247,250,254,.82);color:#132138;border-color:rgba(40,76,119,.13)}
html[data-theme="light"] .subtitle,html[data-theme="light"] .topbar .account-name{color:#687b92}
html[data-theme="light"] .theme-picker{background:rgba(39,94,166,.06);color:#294563;border-color:rgba(46,101,173,.18)}
html[data-theme="light"] .dashboard-head p,html[data-theme="light"] .page-list-head p,html[data-theme="light"] .hero p{color:#64758a}
html[data-theme="light"] .dashboard-stats>div,
html[data-theme="light"] .panel,
html[data-theme="light"] .form-card,
html[data-theme="light"] .case-card,
html[data-theme="light"] .department-card,
html[data-theme="light"] .output-section,
html[data-theme="light"] .knowledge-section,
html[data-theme="light"] .knowledge-page-list,
html[data-theme="light"] .output-page-card,
html[data-theme="light"] .metric-card,
html[data-theme="light"] .empty{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(244,249,253,.98));border-color:rgba(39,76,119,.14)}
html[data-theme="light"] .dashboard-stats span{color:#65778d}
html[data-theme="light"] .dashboard-stats .workflow-stat strong{color:#142033}
html[data-theme="light"] .section-heading small{color:#6c7d91}
html[data-theme="light"] .department-card p{color:#64758a}
html[data-theme="light"] .department-icon{background:rgba(33,87,154,.06);border-color:rgba(39,76,119,.12)}
html[data-theme="light"] .mini-activity,html[data-theme="light"] .worker-message{background:rgba(38,87,146,.055)!important;color:#52667d!important;border-color:rgba(39,76,119,.06)}
html[data-theme="light"] .company-flow{background:linear-gradient(100deg,rgba(93,157,255,.22),rgba(255,255,255,.96) 48%,rgba(151,210,255,.25));border-color:rgba(64,129,226,.20)}
html[data-theme="light"] .company-flow>div{background:rgba(255,255,255,.70);border-color:rgba(39,76,119,.10)}
html[data-theme="light"] .company-flow small{color:#66788e}
html[data-theme="light"] .approval-section{background:linear-gradient(135deg,#fff6df,#fffdfa);border-color:rgba(188,134,29,.30);color:#33280f}
html[data-theme="light"] .approval-list>a{border-color:rgba(155,111,20,.15)}
html[data-theme="light"] .output-list small,html[data-theme="light"] .knowledge-list small,html[data-theme="light"] .case-card p,html[data-theme="light"] .meta{color:#64758a}
html[data-theme="light"] .output-type{background:#e8f2ff;color:#2766ad;border-color:#c9def8}
html[data-theme="light"] .company-dna-card{background:linear-gradient(120deg,#dcecff,#fff 54%,#e8f5ff);border-color:rgba(73,136,222,.24)}
html[data-theme="light"] .badge{background:#edf3f9;color:#52657b}
html[data-theme="light"] .department-hero{background:linear-gradient(135deg,#fff,#f2f7fc);border-color:rgba(39,76,119,.14)}
html[data-theme="light"] .knowledge-guide,html[data-theme="light"] .dna-guide{background:linear-gradient(90deg,#e0eeff,#f8fbff);color:#1a2c43}
html[data-theme="light"] .auth-card{background:linear-gradient(145deg,#fff,#f2f7fc);border-color:rgba(55,110,181,.20);box-shadow:0 34px 90px rgba(52,99,153,.15)}
html[data-theme="light"] .auth-card h1{color:#142033}
html[data-theme="light"] .auth-card>p,html[data-theme="light"] .auth-link{color:#64758a!important}
html[data-theme="light"] .auth-card label,html[data-theme="light"] label,html[data-theme="light"] .field label{color:#26394f}
html[data-theme="light"] .auth-card label small{color:#718298}
html[data-theme="light"] input,html[data-theme="light"] textarea,html[data-theme="light"] select{background:#fff!important;color:#17263a!important;border-color:rgba(48,89,139,.22)!important}
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:#94a2b2}
html[data-theme="light"] .step{background:#e7eef5;color:#61758c}
html[data-theme="light"] .step.done{background:#e4f6ed;color:#26714f}
html[data-theme="light"] .status-box,html[data-theme="light"] .research-progress,html[data-theme="light"] .research-history,html[data-theme="light"] .research-comparison,html[data-theme="light"] .research-decision{background:#f3f8fc;border-color:rgba(51,91,137,.18);color:#21364d}
html[data-theme="light"] .report-nav{background:#f4f8fc;border-color:rgba(39,76,119,.14)}
html[data-theme="light"] .research-report{color:#26394f}
html[data-theme="light"] .research-report h3{color:#172a42}
html[data-theme="light"] .report-table-wrap{border-color:#8fa8c3;background:#fff}
html[data-theme="light"] .report-table{background:#fff}
html[data-theme="light"] .report-table td{color:#26394f;border-color:#b5c4d3}
html[data-theme="light"] .report-table tbody tr:nth-child(odd) td{background:#fff}
html[data-theme="light"] .report-table tbody tr:nth-child(even) td{background:#edf4fa}
html[data-theme="light"] .report-table tbody tr:hover td{background:#e0edfb}
html[data-theme="light"] .report-table td:first-child{color:#1f568f}
html[data-theme="light"] .source-row{color:#315d8e}
