body{margin:0;background:#050816;color:#f4f6ff;font-family:Arial,sans-serif}
.hidden{display:none!important}
.boot-error{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:9999;background:#7b1f1f;color:#fff;padding:10px 14px;border-radius:12px}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 78% 28%, rgba(88,92,255,.38), transparent 28%),radial-gradient(circle at 12% 90%, rgba(152,86,255,.18), transparent 20%),#050816}
.auth-card{width:95%;max-width:1420px;background:rgba(14,19,43,.9);border:1px solid #222950;border-radius:36px;padding:28px;display:grid;grid-template-columns:1.2fr .9fr;gap:24px}
.logo{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#6a83ff,#b07dff);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700}
.brand-row{display:flex;gap:14px;align-items:center}
.brand{font-size:34px;font-weight:700}
.sub{color:#aeb5d6}
.auth-card h1{font-size:78px;line-height:1.05;margin:26px 0 16px}
.auth-card p{font-size:26px;color:#aeb5d6}
.right{background:rgba(18,24,53,.85);border:1px solid #222950;border-radius:28px;padding:22px;display:flex;flex-direction:column;gap:12px}
.tabs{display:flex;background:rgba(255,255,255,.04);padding:4px;border-radius:18px}
.tab{flex:1;border:none;background:transparent;color:#fff;font-size:18px;padding:16px;border-radius:16px}
.tab.active{background:rgba(143,140,255,.25)}
input,select{width:100%;padding:16px 18px;border-radius:18px;border:1px solid #222950;background:rgba(255,255,255,.04);color:#fff;font-size:18px}
label{color:#aeb5d6}
.primary,.secondary,.nav-btn{border:none;border-radius:18px;padding:16px 18px;color:#fff;cursor:pointer}
.primary{background:linear-gradient(90deg,#6a83ff,#a77cff);font-weight:700}
.secondary{background:rgba(255,255,255,.05);border:1px solid #222950}
.small{padding:10px 14px;font-size:16px}
.app{display:grid;grid-template-columns:330px 1fr;min-height:100vh;gap:20px;padding:18px;background:radial-gradient(circle at 78% 28%, rgba(88,92,255,.38), transparent 28%),radial-gradient(circle at 12% 90%, rgba(152,86,255,.18), transparent 20%),#050816}
.sidebar{background:rgba(14,19,43,.9);border:1px solid #222950;border-radius:28px;padding:18px;display:flex;flex-direction:column;gap:16px}
.card{background:rgba(18,24,53,.85);border:1px solid #222950;border-radius:24px;padding:18px}
.brand-card,.profile-card{display:flex;gap:16px;align-items:center}
.avatar{width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,#6a83ff,#b07dff);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}
.name{font-size:18px;font-weight:700}
.email{color:#aeb5d6;word-break:break-all}
.nav{display:flex;flex-direction:column;gap:8px}
.nav-btn{text-align:left;background:transparent;font-size:18px}
.nav-btn.active,.nav-btn:hover{background:rgba(143,140,255,.17)}
.goal-text{font-size:36px;font-weight:700}
.main{display:flex;flex-direction:column;gap:20px}
.topbar{background:rgba(14,19,43,.9);border:1px solid #222950;border-radius:28px;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}
.topbar h2{margin:6px 0 0;font-size:64px}
.meta{display:flex;gap:12px}
.pill{background:rgba(255,255,255,.05);border:1px solid #222950;padding:16px 18px;border-radius:18px;font-size:18px}
.pill.small{min-width:96px;text-align:center}
.page{display:none}
.page.active{display:block}
.grid{display:grid;gap:20px}
.grid.three{grid-template-columns:repeat(3,1fr)}
.grid.two{grid-template-columns:1fr 1fr}
.row{display:flex;align-items:center;gap:12px}
.spread{justify-content:space-between}
.big{font-size:46px;font-weight:700}
h3{margin:0 0 14px}
.item{background:rgba(255,255,255,.04);border:1px solid #222950;border-radius:18px;padding:14px 16px;margin-top:10px}
.form{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.chat-box{min-height:260px;max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.msg{padding:12px 14px;border-radius:16px;max-width:75%}
.msg.user{align-self:flex-end;background:rgba(143,140,255,.28)}
.msg.bot{align-self:flex-start;background:rgba(255,255,255,.05)}
.timer{font-size:72px;font-weight:700;margin:18px 0}
.cal-title{font-size:24px;font-weight:700;margin:16px 0}
.cal-wrap{border:1px solid #222950;border-radius:20px;overflow:hidden}
.day-grid{display:grid;grid-template-columns:90px 1fr}
.time-cell,.event-cell{border-bottom:1px solid #222950;padding:10px;min-height:56px}
.time-cell{color:#aeb5d6;background:rgba(255,255,255,.02)}
.event-block{background:rgba(143,140,255,.18);border:1px solid rgba(143,140,255,.45);border-radius:14px;padding:8px 10px;margin-bottom:6px}
.week-grid,.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.day-box,.month-box{background:rgba(255,255,255,.04);border:1px solid #222950;border-radius:18px;padding:12px;min-height:130px}
@media (max-width:1100px){.auth-card,.app,.grid.three,.grid.two{grid-template-columns:1fr}.auth-card h1{font-size:44px}.topbar h2{font-size:42px}}


/* Week V3 redesign */
.week-v3{display:flex;flex-direction:column;gap:22px}
.week-v3-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.week-v3-title{font-size:58px;margin:2px 0 8px}
.week-v3-sub{font-size:20px}
.week-v3-actions{display:flex;gap:12px;flex-wrap:wrap}
.week-v3-top{display:grid;grid-template-columns:1.35fr .95fr;gap:20px;align-items:start}
.week-v3-right-col{display:flex;flex-direction:column;gap:20px}
.week-v3-form-card h3,.week-target-card h3,.week-note-card h3,.week-board-card h3{margin:4px 0 10px;font-size:22px}
.form-copy,.board-copy{margin-bottom:12px}
.week-v3-form-card,.week-target-card,.week-note-card,.week-board-card{border-radius:30px}
.week-v3-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.target-track{width:100%;height:12px;background:rgba(255,255,255,.05);border-radius:999px;overflow:hidden;margin-top:8px}
.target-bar{height:100%;width:0%;background:linear-gradient(90deg,#6a83ff,#a77cff)}
.target-pct{font-size:34px;font-weight:700}
.weekly-board{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;margin-top:18px}
.week-day-tall{background:rgba(255,255,255,.04);border:1px solid #222950;border-radius:24px;padding:16px;min-height:320px;display:flex;flex-direction:column;gap:12px}
.week-day-tall.selected{box-shadow:0 0 0 1px rgba(143,140,255,.28), 0 0 32px rgba(106,131,255,.12) inset}
.week-day-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.week-day-meta{display:flex;flex-direction:column}
.week-day-short{font-size:14px;letter-spacing:.08em;color:#aeb5d6;text-transform:uppercase}
.week-day-num{font-size:18px;font-weight:700}
.week-day-hours{font-size:16px;color:#e6e9ff}
.week-block-list{display:flex;flex-direction:column;gap:10px}
.week-block-card{padding:12px 12px;border-radius:16px;border:1px solid #2e365f;background:rgba(255,255,255,.04)}
.week-block-card.task{background:rgba(143,140,255,.14);border-color:rgba(143,140,255,.28)}
.week-block-card.session{background:rgba(76,201,140,.12);border-color:rgba(76,201,140,.28)}
.week-block-card.event{background:rgba(255,124,172,.14);border-color:rgba(255,124,172,.28)}
.week-block-card strong{display:block;margin-bottom:4px}
.week-block-card .mini{font-size:13px;color:#d8dcf5}
.week-empty-state{color:#99a1c8;font-size:14px;padding-top:8px}
.week-bottom-panels{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}
.week-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mini-stat{background:rgba(255,255,255,.04);border:1px solid #222950;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:8px}
.mini-stat span{color:#aeb5d6;font-size:13px}
.mini-stat strong{font-size:30px}
.mini-stat em{font-style:normal;color:#cdd2ee;font-size:14px}
.week-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.priority-item,.deadline-item{background:rgba(255,255,255,.04);border:1px solid #222950;border-radius:16px;padding:14px}
.priority-rank{width:30px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:700;background:rgba(143,140,255,.18);border:1px solid rgba(143,140,255,.28);margin-right:10px}
.priority-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
@media (max-width:1250px){
  .week-v3-top,.week-bottom-panels{grid-template-columns:1fr}
  .week-stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .weekly-board{grid-template-columns:1fr}
  .week-focus-grid{grid-template-columns:1fr}
  .week-v3-title{font-size:42px}
}

/* AI smart v1 */
.ai-v1{display:flex;flex-direction:column;gap:20px}
.ai-top-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:20px}
.ai-chat-card{min-height:720px;display:flex;flex-direction:column}
.ai-head{margin-bottom:12px}
.ai-chat-box{flex:1;min-height:420px;max-height:520px;padding-right:4px}
.ai-side-col{display:flex;flex-direction:column;gap:20px}
.ai-input-row{margin-top:14px}
.ai-input-row input{flex:1}
.ai-prompt-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.ai-prompt-chip{padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid #222950;color:#dbe0fb;font-size:14px;cursor:pointer}
.ai-prompt-chip:hover{background:rgba(143,140,255,.14);border-color:rgba(143,140,255,.28)}
.ai-msg-meta{font-size:11px;color:#bcc2e8;margin-top:6px}
.ai-kpi{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:rgba(255,255,255,.04);border:1px solid #222950;border-radius:16px;padding:14px}
.ai-kpi strong{font-size:15px}
.ai-kpi .muted{font-size:13px}
@media (max-width:1100px){
  .ai-top-grid{grid-template-columns:1fr}
}
