:root{color:#1d1f2b;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7fb;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#f8fbff 0%,#f2f5fb 100%);min-height:100vh;margin:0}#app{min-height:100vh}h1,h2,h3,h4,p{margin:0}.card{background:#fff;border:1px solid #e4e8f0;border-radius:18px;box-shadow:0 10px 30px #1a23380f}.planning-page .card{padding:20px}.app-shell{grid-template-columns:280px minmax(0,1fr);gap:20px;padding:20px;display:grid}.sidebar{flex-direction:column;gap:18px;height:fit-content;padding:24px;display:flex;position:sticky;top:20px}.muted{color:#6f7891}.nav-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;width:100%;padding:10px 12px;transition:background-color .2s}.nav-item:hover{background:#f1f5ff}.nav-item.active{color:#2b55d1;background:#eaf1ff;font-weight:600}.nav-item:disabled{opacity:.5;cursor:not-allowed}.main-content{flex-direction:column;gap:16px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:20px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions.end{justify-content:flex-end}.btn,.inline-btn{color:#1e2333;cursor:pointer;background:#fff;border:1px solid #cfd6e6;border-radius:10px;padding:8px 12px;transition:all .2s}.btn:hover,.inline-btn:hover{border-color:#a9b6d6;transform:translateY(-1px)}.btn.primary{color:#fff;background:linear-gradient(135deg,#3e6cf4,#5d7bf8);border-color:#0000}.inline-btn.danger{color:#c73549;border-color:#efc7cf}.page{flex-direction:column;gap:14px;display:flex}.stats-grid,.content-grid,.planner-grid,.tasks-grid{gap:12px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.content-grid,.planner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.timeline,.explanation-panel,.task-details-panel,.task-card,.profile-form,.filters{padding:16px}.stat-card strong{font-size:24px}.stat-card.warning{background:#fff8ee;border-color:#f2d4b2}.section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pill{color:#3657be;background:#ecf2ff;border-radius:999px;padding:4px 10px;font-size:12px}.timeline-list,.explanation-panel,.task-details-content,.tasks-grid{flex-direction:column;gap:10px;display:flex}.task-details-list{gap:8px;margin:0;display:grid}.task-details-list div{border-bottom:1px solid #edf2fa;justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.task-details-list dt,.task-details-list dd{margin:0}.task-details-list dd{text-align:right;font-weight:600}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:20px;display:grid;overflow-x:auto}.week-day-column{background:#f9fbff;border:1px solid #e1e7f6;border-radius:12px;flex-direction:column;gap:8px;min-width:150px;padding:12px;display:flex}.week-day-header{flex-direction:column;gap:2px;padding-bottom:2px;display:flex}.week-day-header .muted{text-transform:lowercase;font-size:12px}.week-day-column .empty-state{padding:10px}.slot{border:1px solid #e1e7f6;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:center;gap:8px;padding:12px;transition:transform .2s,box-shadow .2s;display:flex}.slot:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1c284614}.slot-time{color:#68708b;white-space:nowrap;font-size:11px}.slot-fixed{background:#f2f5fb}.slot-task{background:#edf3ff}.slot-break{background:#eff9f0}.slot-free{background:#fff}.slot-locked{opacity:.9;border-style:dashed}.slot-lock-icon{font-size:14px;line-height:1}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{background:#f2f5fb;border:1px solid #e0e7f4;border-radius:999px;padding:3px 8px;font-size:12px}.task-actions,.task-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-card{flex-direction:column;gap:10px;display:flex}.filters{gap:10px;display:flex}input,textarea,select{width:100%;font:inherit;background:#fff;border:1px solid #ced6e8;border-radius:10px;padding:9px 10px}.profile-form,.modal{flex-direction:column;gap:12px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}label{flex-direction:column;gap:6px;font-size:14px;display:flex}.checkbox-row{flex-direction:row;align-items:center;gap:8px;display:flex}.checkbox-row input{width:auto}.empty-state{color:#6f7891;border:1px dashed #d5deef;border-radius:12px;padding:14px}.skeleton-wrap{flex-direction:column;gap:8px;display:flex}.skeleton{background:linear-gradient(90deg,#edf2fa 20%,#f6f8fc 50%,#edf2fa 80%) 0 0/200% 100%;border-radius:12px;height:44px;animation:1.2s infinite pulse}@keyframes pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.modal-overlay{background:#0d121d66;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.modal{width:min(720px,100%);padding:18px}.planning-slots-modal{flex-direction:column;gap:12px;max-height:min(80vh,720px);display:flex;overflow:hidden}.planning-slots-result{border-top:1px solid #dfe6f3;min-height:0;padding-top:12px}.slots-list{flex-direction:column;gap:8px;max-height:280px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.slot-option{cursor:pointer;background:#f8faff;border:1px solid #dfe6f3;border-radius:10px;padding:8px 10px;transition:background-color .2s,border-color .2s}.slot-option:hover{background:#edf3ff;border-color:#b8c9ec}.slot-option-disabled{opacity:.65;pointer-events:none}.side-note{padding:12px}.login-page{place-items:center;min-height:100vh;padding:20px;display:grid}.login-form{flex-direction:column;gap:12px;width:min(420px,100%);padding:24px;display:flex}.error-text{color:#cb2d3e;font-size:14px}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.content-grid,.planner-grid,.form-grid,.stats-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(7,minmax(150px,1fr))}.topbar{flex-direction:column;align-items:flex-start}}
