:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#e8edf5;background:#06152d;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.shell{display:grid;grid-template-columns:242px 1fr;min-height:100vh}.sidebar{background:#081b36;border-right:1px solid #28405e;padding:25px 17px;display:flex;flex-direction:column;gap:35px}.brand{padding:0 12px}.brand img{width:130px;display:block;margin:-17px 0 -12px -8px}.brand small,.eyebrow,.sidefoot small{font-size:10px;letter-spacing:2px;color:#8da6c2}.sidebar nav{display:grid;gap:7px}.sidebar nav button{background:none;border:1px solid transparent;color:#aebfd4;text-align:left;padding:13px 15px;border-radius:9px}.sidebar nav button:hover,.sidebar nav button.active{background:#123f75;color:#fff;border-color:#315c8a}.sidebar nav button span{margin-left:10px}.sidefoot{margin-top:auto;padding:15px 10px;color:#c0c0c0;font-size:11px;line-height:2}main{min-width:0;padding:32px clamp(16px,4vw,54px) 60px;background:radial-gradient(circle at 95% 0%,#123f753c,transparent 37%),#06152d}header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}h1{font-size:clamp(24px,3vw,35px);margin:8px 0 0;letter-spacing:-1px}h2{margin:0;font-size:19px}.headright{display:flex;gap:12px;align-items:center}.tag,.pill{display:inline-block;border:1px solid #3c5c7e;border-radius:99px;padding:6px 10px;color:#b7cee4;font-size:10px;letter-spacing:1px}.primary{background:#c0c0c0;color:#06152d;border:0;border-radius:8px;padding:11px 16px;font-weight:750}.primary:hover{background:#e2e2e2}.secondary{background:#112d50;color:#e7edf5;border:1px solid #355675;border-radius:8px;padding:9px 13px}.danger{color:#ffb0b0}.notice{padding:12px 15px;background:#122c4c;border-left:3px solid #c0c0c0;color:#b5c6d8;font-size:12px;line-height:1.5;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat,.panel{background:#0b213e;border:1px solid #26415f;border-radius:13px}.stat{padding:19px}.stat small{color:#9cb0c6}.stat strong{display:block;font-size:27px;margin-top:8px;color:#f3f6fa}.panel{padding:21px;margin-bottom:20px}.panelhead,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;flex-wrap:wrap}.muted{color:#8fa8c1;font-size:13px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;color:#91a9c4;font-size:11px;padding:10px}.day{min-height:104px;border:1px solid #25415e;background:#0b1c35;border-radius:8px;padding:9px;text-align:left;color:#dbe6f4;overflow:hidden}.day.blank{background:transparent;border-color:transparent;pointer-events:none}.day.today{border-color:#c0c0c0}.daynum{font-size:12px;color:#a5b7ca}.eventchip{display:block;background:#184979;color:#e6f0fb;padding:5px 6px;margin-top:6px;border-radius:5px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eventchip:hover{background:#24639c}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{padding:13px 11px;border-bottom:1px solid #25415e;text-align:left;font-size:13px}th{color:#92abc5;font-size:11px;text-transform:uppercase;letter-spacing:.7px}td{color:#dfe8f3}.actions{display:flex;gap:7px;flex-wrap:wrap}.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:12px;color:#a6bdd3}input,select,textarea{width:100%;padding:11px;background:#081a32;border:1px solid #355575;color:#fff;border-radius:8px;outline:none}input:focus,select:focus,textarea:focus{border-color:#c0c0c0}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.modal{position:fixed;inset:0;background:#020916d9;z-index:5;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:30px 12px}.hidden{display:none}.dialog{width:min(750px,100%);background:#0b213e;border:1px solid #45617e;border-radius:15px;padding:24px;box-shadow:0 20px 80px #0008}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.iconbtn{background:transparent;color:#e5ebf2;border:0;font-size:20px}.catalogrow,.checkrow{display:grid;grid-template-columns:1fr 90px auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #25415e}.checkrow{grid-template-columns:1fr 90px 90px 90px}.catalogrow small{display:block;color:#91abc5;margin-top:3px}.catalogrow input,.checkrow input{padding:8px}.sectionlabel{font-size:11px;letter-spacing:1.5px;color:#c0c0c0;margin:18px 0 9px}.footerbuttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.empty{padding:35px;text-align:center;color:#91abc5}.phase{padding:9px 12px;border-radius:7px;background:#122f51;color:#c8d8e9;display:inline-block;font-size:12px}.phase.done{background:#1d483f;color:#c6efdd}.phase.issue{background:#56372f;color:#ffd5c5}.search{max-width:300px}.inlinehelp{font-size:12px;color:#a5bad1;line-height:1.6}.flow{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.flow span{font-size:11px;padding:9px 10px;border:1px solid #355575;border-radius:7px;color:#a9c2dc}.linkline{overflow-wrap:anywhere;background:#081a32;padding:12px;border:1px solid #355575;border-radius:7px;color:#d6e5f5;font-size:12px}@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{padding:12px 15px;gap:8px}.brand{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap;padding:10px}.sidefoot{display:none}main{padding:20px 13px 45px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.day{min-height:75px;padding:5px}.eventchip{font-size:9px;padding:4px}.tag{display:none}}@media(max-width:480px){header{align-items:flex-start}.headright .primary{font-size:11px;padding:10px}.two,.three{grid-template-columns:1fr}.calendar{gap:2px}.day{min-height:64px}.weekday{padding:7px 0}.checkrow{grid-template-columns:1fr 55px 55px 55px;gap:4px;font-size:11px}.checkrow input{padding:5px}.dialog{padding:16px}}

/* V1.1: touch-first mobile and tablet layouts */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
button{touch-action:manipulation}
@media(min-width:851px) and (max-width:1100px){
.shell{grid-template-columns:205px minmax(0,1fr)}
.sidebar{padding-inline:10px}
main{padding-inline:20px}
.day{min-height:82px}
}
@media(max-width:850px){
.shell{display:block}
.sidebar{position:fixed;left:0;right:0;bottom:0;bottom:env(safe-area-inset-bottom,0px);z-index:20;background:#081b36;border-right:0;border-top:1px solid #355575;padding:6px 6px 4px;gap:0;box-shadow:0 -8px 25px #0005}
.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:2px}
.sidebar nav button{min-width:0;min-height:55px;padding:7px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:19px;text-align:center;line-height:1.1}
.sidebar nav button span{display:block;margin:0;font-size:10px;white-space:normal}
main{padding:22px 14px calc(105px + env(safe-area-inset-bottom,0px))}
.modal{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:600px){
header{gap:10px;align-items:flex-start}
.eyebrow{font-size:9px;letter-spacing:1px}
h1{font-size:24px}
.headright{flex-shrink:0}
.notice{font-size:11px}
.panel{padding:12px}
.stat{padding:13px}
.stat strong{font-size:22px}
.calendar{gap:3px}
.weekday{font-size:10px}
.day{min-height:62px;padding:4px 2px;border-radius:5px}
.daynum{font-size:11px;padding-left:3px}
.eventchip{font-size:0;width:7px;height:7px;padding:0;margin:5px auto 0;border-radius:50%}
.catalogrow{grid-template-columns:minmax(0,1fr) 64px auto;gap:5px}
.dialog{width:100%;max-height:calc(100dvh - 28px);overflow-y:auto}
input,select,textarea{font-size:16px}
}
@media(max-width:360px){
.sidebar nav button span{font-size:9px}
h1{font-size:21px}
.headright .primary{padding:9px 7px}
}

/* V1.2 calendar-first layout */
.upcoming-panel{margin-bottom:18px}
.upcoming-list{display:grid;gap:8px}
.upcoming-item{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border:1px solid #34516e;border-radius:10px;background:#0b2340;color:#eef3f9;text-align:left;cursor:pointer}
.upcoming-item:hover{background:#143352}
.upcoming-date{min-width:94px;color:#c0c0c0;font-size:12px}
.upcoming-name{flex:1;min-width:0;font-weight:650}
.upcoming-name small{display:block;font-weight:400;color:#a6b7cb;margin-top:4px}
@media(max-width:600px){.upcoming-panel .panelhead{align-items:center;gap:8px}.upcoming-panel .panelhead .primary{white-space:nowrap;padding:10px 9px;font-size:12px}.upcoming-item{gap:8px;padding:10px}.upcoming-date{min-width:72px;font-size:10px}.upcoming-name{font-size:12px}.upcoming-item .phase{font-size:10px;padding:4px}.calendar-panel .panelhead{flex-wrap:wrap;gap:10px}.calendar-panel .actions{width:100%;justify-content:space-between}}

/* V1.3 profile controls */
.profile-wrap{position:relative}.profile-toggle{border:1px solid #54718d;border-radius:50%;background:#123f75;width:43px;height:43px;display:grid;place-items:center;padding:3px}.profile-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#fff;background-position:center;background-size:cover}.profile-avatar.has-photo{font-size:0}.profile-menu{position:absolute;right:0;top:calc(100% + 10px);width:235px;z-index:30;background:#0b213e;border:1px solid #45617e;border-radius:12px;box-shadow:0 15px 40px #0009;padding:7px}.profile-menu.hidden{display:none}.profile-info{padding:12px;border-bottom:1px solid #355575;margin-bottom:5px}.profile-info strong,.profile-info small{display:block}.profile-info small{font-size:11px;color:#9bb0c7;margin-top:4px}.profile-menu button{display:block;width:100%;text-align:left;background:transparent;color:#e9eff8;border:0;border-radius:7px;padding:12px}.profile-menu button:hover{background:#123f75}@media(max-width:600px){.profile-toggle{width:39px;height:39px}.profile-avatar{width:32px;height:32px}}

/* V1.4 — clear profile icon and visible account name */
.profile-toggle{width:auto!important;min-width:0;height:44px!important;display:flex!important;align-items:center;gap:10px;padding:4px 12px 4px 5px!important;border-radius:25px!important;background:#102f53!important;color:#f2f5fa;cursor:pointer;max-width:min(260px,48vw)}
.profile-toggle:hover,.profile-toggle:focus-visible{border-color:#c0c0c0;background:#17416b!important}
.profile-avatar{flex:0 0 35px;width:35px;height:35px;font-size:0;background-color:#234f7d;border:1px solid #6e8ca9;color:#fff}
.profile-avatar svg{display:block}
.profile-header-name{font-size:13px;font-weight:650;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.profile-chevron{flex:0 0 15px;opacity:.7}
@media(max-width:600px){.profile-toggle{height:41px!important;padding:3px 8px 3px 4px!important;gap:7px;max-width:47vw}.profile-avatar{width:32px;height:32px;flex-basis:32px}.profile-header-name{font-size:12px}.profile-chevron{display:none}.headright .tag{display:none}}

/* V1.5 fixed dashboard header, logo avatar default */
:root{--aie-header-h:94px}
.shell>main{padding-top:calc(var(--aie-header-h) + 32px)}
.shell>main>header{position:fixed!important;top:0!important;left:242px;right:0;height:var(--aie-header-h);z-index:40;margin:0!important;padding:16px clamp(16px,4vw,54px);background:rgba(6,21,45,.97);border-bottom:1px solid #294361;box-shadow:0 6px 20px rgba(0,0,0,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);align-items:center!important}
.profile-avatar{background-image:url(logo.png);background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#06152d!important;overflow:hidden}
.profile-avatar svg{display:none!important}
@media(min-width:851px) and (max-width:1100px){.shell>main>header{left:205px;padding-inline:20px}}
@media(max-width:850px){:root{--aie-header-h:76px}.shell>main{padding-top:calc(var(--aie-header-h) + 20px)}.shell>main>header{left:0;right:0;padding:10px 14px}}
@media(max-width:600px){:root{--aie-header-h:72px}.shell>main>header{gap:8px}.shell>main>header h1{font-size:21px;margin-top:5px}.shell>main>header .eyebrow{font-size:8px}.profile-toggle{max-width:48vw}}

/* V1.6 calendar view switch + vertical weekly list */
.calendar-switch{display:flex;gap:4px;padding:3px;border:1px solid #355575;border-radius:9px;background:#081a32}
.calendar-switch .secondary{border:0;background:transparent;padding:8px 12px}
.calendar-switch .secondary.selected{background:#c0c0c0;color:#06152d;font-weight:750}
.weekly-list{display:grid;gap:14px}
.week-block{border:1px solid #294665;border-radius:10px;overflow:hidden;background:#091c35}
.week-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px;background:#102d50;border-bottom:1px solid #294665}
.week-heading>span{font-size:10px;letter-spacing:1.2px;color:#c0c0c0;font-weight:800}
.week-heading strong{font-size:13px}.week-heading small{margin-left:auto;color:#9fb7d1}
.week-events{display:grid}.week-event{width:100%;border:0;border-bottom:1px solid #25415e;background:transparent;color:#e8edf5;padding:14px 16px;display:flex;align-items:center;gap:18px;text-align:left}.week-event:last-child{border-bottom:0}.week-event:hover{background:#123f75}
.week-date{width:112px;flex-shrink:0;color:#c0c0c0;font-size:12px}.week-event-info{display:grid;gap:4px;min-width:0;flex:1}.week-event-info b{font-size:13px;overflow-wrap:anywhere}.week-event-info small{color:#91a9c4;font-size:11px}.week-empty{padding:19px 16px;color:#8fa8c1;font-size:12px}
@media(max-width:650px){.calendar-actions{gap:7px}.calendar-switch{width:100%;justify-content:center}.calendar-switch button{flex:1}.week-heading{gap:7px;padding:12px}.week-heading strong{font-size:12px}.week-event{padding:12px;gap:10px;flex-wrap:wrap}.week-date{width:75px;font-size:11px}.week-event .phase{margin-left:85px;font-size:10px;padding:5px 8px}}

/* Daily list: date-grouped, nearest upcoming first */
.daily-list .week-heading{justify-content:space-between}
.daily-list .week-heading strong{font-size:14px}
.daily-list .week-event{min-height:64px}
@media(max-width:650px){.daily-list .week-event .phase{margin-left:auto}.daily-list .week-heading strong{font-size:12px}}

/* Seven-day daily list empty state */
.daily-empty-day{padding:17px 18px;color:#a6b6cc;font-size:13px;border:1px dashed rgba(192,192,192,.22);border-radius:9px;margin-top:8px}
