:root{
  --bg:#020b12;--bg2:#061a2a;--panel:rgba(7,28,44,.86);--panel2:rgba(9,39,60,.9);
  --line:rgba(111,214,255,.16);--text:#e9faff;--muted:#8eb5c8;--cyan:#56ddff;--cyan2:#9af7ff;
  --blue:#2d78ff;--green:#6fffcf;--yellow:#ffd76e;--red:#ff8ba1;--purple:#b7b5ff;
  --shadow:0 20px 70px rgba(0,0,0,.35);--r:22px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:
radial-gradient(circle at 14% 8%,rgba(29,124,183,.23),transparent 28%),
radial-gradient(circle at 82% 13%,rgba(41,219,255,.08),transparent 24%),
linear-gradient(180deg,#06223b 0%,#03121f 33%,#02090f 100%);
color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:before{content:"";position:fixed;width:560px;height:560px;border-radius:50%;right:-220px;top:100px;pointer-events:none;
background:radial-gradient(circle,rgba(84,214,255,.16),transparent 68%)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.app{position:relative;z-index:1;display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
aside{padding:26px 17px;border-right:1px solid var(--line);background:rgba(2,11,19,.78);backdrop-filter:blur(16px);
position:sticky;top:0;height:100vh;overflow:auto}
.brand{padding:5px 10px 24px}.brand h1{font-size:21px;letter-spacing:.08em;margin:0}.brand p{font-size:10px;color:var(--muted);margin:6px 0 0;letter-spacing:.18em;text-transform:uppercase}
.bubble{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:12px;background:linear-gradient(145deg,var(--cyan),#147ca9);color:#001018;font-weight:900;margin-right:8px;box-shadow:0 0 30px rgba(84,214,255,.25)}
nav{display:grid;gap:7px}.navbtn{border:0;background:transparent;color:var(--muted);padding:11px 13px;text-align:left;border-radius:14px;display:flex;align-items:center;gap:10px}
.navbtn:hover,.navbtn.active{background:rgba(84,214,255,.09);color:var(--text)}.navbtn.active{box-shadow:inset 0 0 0 1px rgba(84,214,255,.14)}
main{padding:30px clamp(18px,3vw,42px) 60px;max-width:1540px;width:100%;margin:auto}
.section{display:none}.section.active{display:block}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--cyan2)}
h2{font-size:clamp(22px,2.4vw,31px);margin:5px 0 7px;line-height:1.15;letter-spacing:-.025em}h3{margin:0}.sub{color:var(--muted);max-width:820px;margin:0}
.month-pill{padding:10px 14px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:999px;color:var(--muted);white-space:nowrap}
.grid{display:grid;gap:18px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:linear-gradient(180deg,rgba(10,38,59,.9),rgba(5,23,38,.84));border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;backdrop-filter:blur(14px)}
.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-43px;top:-48px;background:radial-gradient(circle,rgba(84,214,255,.2),transparent 65%)}
.metric .label{font-size:13px;color:var(--muted)}.metric .value{font-size:27px;font-weight:800;margin:9px 0 6px;letter-spacing:-.02em}.metric .value small{font-size:15px;color:var(--muted);font-weight:600}
.progress{height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan2));box-shadow:0 0 18px rgba(84,214,255,.35)}
.delta,.small{font-size:12px;color:var(--muted)}.delta{margin-top:8px}
.section-title{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:25px 0 11px}.section-title h3{font-size:15px;letter-spacing:.01em}.section-title span{font-size:12px;color:var(--muted)}
table{width:100%;border-collapse:collapse}th,td{padding:13px 9px;border-bottom:1px solid var(--line);text-align:left}th{font-size:12px;color:var(--muted);font-weight:600}td{font-size:14px}tr:last-child td{border-bottom:0}
.tag{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.tag.A{color:#071a18;background:var(--green);border-color:transparent;font-weight:800}.tag.B{color:#051622;background:var(--cyan2);border-color:transparent;font-weight:800}.tag.C{color:#071226;background:var(--purple);border-color:transparent;font-weight:800}.tag.D{color:#dceaf0}
.btn{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);padding:10px 13px;border-radius:12px}.btn:hover{background:rgba(84,214,255,.09)}
.btn.primary{background:linear-gradient(135deg,#175eff,#40d9ff);border:0;color:white;font-weight:800;box-shadow:0 10px 28px rgba(37,117,252,.28)}.btn.danger{color:#ffd8e0}
.stack{display:grid;gap:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(1,11,19,.66);color:var(--text);border-radius:12px;padding:11px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:rgba(84,214,255,.45);box-shadow:0 0 0 3px rgba(84,214,255,.07)}textarea{min-height:150px;resize:vertical}
.formgrid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:10px}.formgrid4{display:grid;grid-template-columns:1fr 1fr .8fr .8fr;gap:10px}.formgrid5{display:grid;grid-template-columns:.7fr 1fr 1.1fr .7fr .7fr;gap:10px}
.kpi-list{display:grid;gap:12px}.kpi-item{display:grid;grid-template-columns:minmax(160px,1fr) 90px 90px 1fr;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.kpi-item:last-child{border-bottom:0}.kpi-item .name{font-weight:700}.kpi-item .num{text-align:right;font-variant-numeric:tabular-nums}
.event-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.event-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.event-head h4{margin:0 0 5px;font-size:17px}
.slotgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.slot{padding:12px;border-radius:14px;border:1px dashed rgba(112,211,255,.22);background:rgba(4,18,29,.45)}.slot strong{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.slot select{padding:9px 10px}
.empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.insight{padding:16px 18px;border:1px solid rgba(84,214,255,.2);background:linear-gradient(90deg,rgba(37,117,252,.11),rgba(84,214,255,.04));border-radius:16px}.insight b{color:var(--cyan2)}
.source-card{display:flex;justify-content:space-between;gap:16px;align-items:center}.source-card .icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:rgba(84,214,255,.08);font-size:20px}.source-card b{display:block;margin-bottom:4px}.source-card .status{font-size:11px;color:var(--green)}
.money.plus{color:var(--green)}.money.minus{color:#ffc2cf}.money{font-weight:800;font-variant-numeric:tabular-nums}
.filelabel{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:12px;background:linear-gradient(135deg,#175eff,#40d9ff);font-weight:800;cursor:pointer}.filelabel input{display:none}
.analysis-best{border-color:rgba(111,255,207,.32);box-shadow:0 20px 60px rgba(13,177,136,.08)}
.barline{display:grid;grid-template-columns:100px 1fr 60px;gap:10px;align-items:center}.bar{height:9px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#3d71ff,#6eeaff);border-radius:inherit}
.week-badge{font-size:11px;padding:4px 8px;border-radius:999px;background:rgba(183,181,255,.1);color:#d8d7ff;border:1px solid rgba(183,181,255,.15)}
.inline-edit{background:transparent;border:0;padding:0;color:var(--text)}
.footer-note{margin-top:18px;color:var(--muted);font-size:12px}
.modal{position:fixed;inset:0;z-index:50;background:rgba(0,6,12,.78);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-panel{width:min(760px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#0a263b,#051827);border:1px solid rgba(111,214,255,.22);border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.55);padding:22px}
.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.modal-head h3{font-size:22px}
.iconbtn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field label{display:block;font-size:11px;color:var(--muted);margin:0 0 6px}
.meeting-list{display:grid;gap:8px;margin-top:10px}
.meeting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}
.ocr-zone{border:1px dashed rgba(111,214,255,.28);border-radius:16px;padding:16px;background:rgba(255,255,255,.02)}
.ocr-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px}
.ocr-preview img{width:100%;aspect-ratio:3/5;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#07131e}
.ocr-status{margin-top:10px;font-size:12px;color:var(--muted)}
.review-table input,.review-table select{min-width:100px;padding:8px 9px}
.review-table .memo{min-width:180px}
.nav-divider{height:1px;background:var(--line);margin:8px 4px}
.db-link{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:10px 12px;border-radius:13px;border:1px solid rgba(84,214,255,.16);background:linear-gradient(135deg,rgba(84,214,255,.08),rgba(37,117,252,.04));color:var(--text);text-decoration:none;font-size:12px}
.db-link span:last-child{color:var(--cyan2)}
.segmented{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}
.segbtn{border:0;background:transparent;color:var(--muted);padding:8px 13px;border-radius:9px}
.segbtn.active{background:rgba(84,214,255,.11);color:var(--text);box-shadow:inset 0 0 0 1px rgba(84,214,255,.12)}
.analysis-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 18px}
.analysis-toolbar select{width:auto;min-width:190px}
.event-status-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 110px minmax(150px,1fr) 80px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.event-status-row:last-child{border-bottom:0}
.event-status-date{font-size:12px;color:var(--muted)}
.slot-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.calendar-popover{position:fixed;z-index:200;display:none;width:300px;padding:14px;border-radius:18px;background:linear-gradient(180deg,#0b2a40,#061a29);border:1px solid rgba(111,214,255,.22);box-shadow:0 24px 80px rgba(0,0,0,.55);backdrop-filter:blur(16px)}
.calendar-popover.open{display:block}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.cal-title{font-size:14px;font-weight:800}
.cal-nav{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-dow{font-size:10px;color:var(--muted);text-align:center;padding:4px 0}
.cal-day{aspect-ratio:1/1;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:12px}
.cal-day:hover{background:rgba(84,214,255,.10)}
.cal-day.muted{color:#547184}
.cal-day.today{box-shadow:inset 0 0 0 1px rgba(84,214,255,.35)}
.cal-day.selected{background:linear-gradient(135deg,#175eff,#40d9ff);font-weight:800}
.cal-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}
.cal-actions button{flex:1}
[data-date-picker]{cursor:pointer}
.rank-row{display:grid;grid-template-columns:28px minmax(100px,1fr) 1fr 72px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.rank-row:last-child{border-bottom:0}
.rank-no{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:rgba(84,214,255,.07);font-size:11px;color:var(--cyan2)}
.spark{height:7px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.spark span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d78ff,#68e8ff)}
@media(max-width:1100px){.app{grid-template-columns:1fr}aside{position:relative;height:auto;display:flex;align-items:center;justify-content:space-between;padding:14px}.brand{padding:0}.brand p{display:none}nav{display:flex;overflow:auto}.navbtn{white-space:nowrap;padding:9px}.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr}}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}main{padding:20px 13px 40px}.topbar{display:block}.month-pill{display:inline-block;margin-top:12px}.g4,.g2{grid-template-columns:1fr}.formgrid,.formgrid4,.formgrid5{grid-template-columns:1fr}.kpi-item{grid-template-columns:1fr 70px 70px}.kpi-item .progress{grid-column:1/-1}.source-card{align-items:flex-start}.hide-mobile{display:none}}
