:root{--ink:#10201e;--muted:#6d7b78;--line:#e5ebe8;--paper:#f5f7f6;--white:#fff;--green:#0b785f;--green-dark:#075343;--mint:#dff5ed;--amber:#e9a52f;--amber-bg:#fff4d9;--red:#c74646;--red-bg:#fdeaea;--blue:#3972c6;--blue-bg:#eaf2ff;--shadow:0 18px 50px rgba(22,47,41,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper)}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#071b18;color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;margin:0 6px 28px}.brand strong,.brand span{display:block}.brand strong{font-size:19px}.brand span{font-size:11px;letter-spacing:.12em;color:#91aaa4;text-transform:uppercase;margin-top:2px}.brand-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#19b585,#08725c);color:#fff;font-weight:900;font-size:28px;box-shadow:0 13px 28px rgba(0,0,0,.18)}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:20px}.button{border:0;border-radius:11px;padding:11px 16px;font-weight:750;transition:.18s}.button:disabled{opacity:.6}.button.primary{background:var(--green);color:#fff;box-shadow:0 7px 18px rgba(11,120,95,.2)}.button.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.button.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.button.danger{background:var(--red-bg);color:var(--red)}.button.compact{padding:8px 13px}.wide{width:100%}.side-nav{display:grid;gap:5px;margin:20px 0}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:11px 13px;border:0;border-radius:10px;background:transparent;color:#a8bcb7;text-align:left;font-weight:650}.nav-item:hover,.nav-item.active{background:#12312b;color:#fff}.nav-item b{margin-left:auto;background:#20453d;color:#c7ddd7;min-width:24px;border-radius:10px;text-align:center;font-size:11px;padding:3px 6px}.side-section{border-top:1px solid #18352f;padding-top:20px;min-height:0;overflow:auto}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em;color:#6f9088;margin:0 6px 9px}.section-label button{border:0;background:none;color:#6f9088;font-size:10px}.filter-list{display:grid;gap:3px}.filter-chip{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#a8bcb7;border-radius:9px;padding:8px 9px;text-align:left}.filter-chip:hover,.filter-chip.active{color:#fff;background:#12312b}.avatar{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:var(--avatar,#2d7866);color:#fff;font-size:10px;font-weight:900}.filter-chip em{margin-left:auto;font-style:normal;font-size:10px;color:#6f9088}.side-bottom{margin-top:auto;padding-top:18px;border-top:1px solid #18352f;display:flex;align-items:center;justify-content:space-between;color:#8ca69f;font-size:12px}.connection{display:flex;align-items:center;gap:8px}.connection i{width:7px;height:7px;border-radius:50%;background:#3ed38b;box-shadow:0 0 0 4px rgba(62,211,139,.1)}.text-button{background:none;border:0;color:#8ca69f}.workspace{min-width:0;padding:0 28px 28px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.date-nav,.top-actions{display:flex;align-items:center;gap:8px}.date-nav h1{font-size:24px;margin:0 0 0 10px;letter-spacing:-.025em;text-transform:capitalize}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:20px;display:grid;place-items:center}.search{height:42px;width:230px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:0 12px}.search input{border:0;outline:0;width:100%;background:transparent}.mobile-menu{display:none;border:0;background:transparent;font-size:23px}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 17px;display:flex;align-items:center;gap:13px}.summary-card i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-style:normal;background:var(--tone,#e9f6f1);color:var(--color,var(--green));font-weight:900}.summary-card strong{display:block;font-size:21px}.summary-card span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.content-card{background:#fff;border:1px solid var(--line);border-radius:18px;min-height:calc(100vh - 180px);box-shadow:0 3px 16px rgba(31,62,55,.03);overflow:hidden}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:650px}.weekday{padding:12px 10px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:800}.day-cell{min-height:118px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell.outside{background:#fafbfb;color:#b5bfbd}.day-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;font-size:12px;font-weight:700;margin-bottom:5px}.day-cell.today .day-number{background:var(--green);color:#fff}.event-chip{display:block;width:100%;border:0;border-left:3px solid var(--event-color,var(--green));background:var(--event-bg,var(--mint));border-radius:7px;padding:5px 6px;margin:3px 0;text-align:left;font-size:10px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip.done{text-decoration:line-through;opacity:.55}.event-chip.not_done{--event-color:var(--red);--event-bg:var(--red-bg)}.event-chip.rescheduled{--event-color:#8b6bb3;--event-bg:#f0ebf8}.more-count{font-size:10px;color:var(--muted);padding:3px 6px}.day-view{display:grid;grid-template-columns:70px 1fr;position:relative}.hour-label{height:68px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 10px;text-align:right;font-size:10px;color:var(--muted)}.hour-slot{height:68px;border-bottom:1px solid var(--line);padding:5px 10px}.day-event{display:flex;align-items:center;gap:10px;border:0;border-left:4px solid var(--green);background:var(--mint);padding:10px;border-radius:9px;text-align:left;width:100%}.day-event time{font-weight:800}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:24px}.mini-month h3{font-size:13px;margin:0 0 9px;text-transform:capitalize}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-grid span{aspect-ratio:1;display:grid;place-items:center;border-radius:5px;font-size:9px;color:var(--muted)}.mini-grid .has-event{background:var(--mint);color:var(--green-dark);font-weight:800}.unscheduled-list{padding:20px}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.list-head h2{margin:0;font-size:18px}.task-row{display:grid;grid-template-columns:1fr 140px 110px 32px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin:8px 0;background:#fff}.task-row button{border:0;background:none;text-align:left}.task-row strong,.task-row small{display:block}.task-row small{color:var(--muted);margin-top:3px}.status-badge{justify-self:start;border-radius:20px;padding:5px 9px;background:var(--amber-bg);color:#976512;font-size:10px;font-weight:800}.empty{padding:70px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:6px}.event-dialog{border:0;border-radius:20px;padding:0;width:min(680px,calc(100% - 28px));box-shadow:0 28px 90px rgba(0,0,0,.25)}.event-dialog::backdrop{background:rgba(6,25,21,.63);backdrop-filter:blur(3px)}.event-dialog form{padding:24px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.dialog-head h2{font-size:23px;margin:5px 0 0}.pill{display:inline-block;padding:5px 9px;border-radius:20px;background:var(--mint);color:var(--green-dark);font-size:9px;font-weight:900;letter-spacing:.09em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:11px;color:var(--muted);font-weight:700}.form-grid input,.form-grid textarea,.form-grid select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;outline:0;background:#fbfcfc;color:var(--ink)}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#58a994;box-shadow:0 0 0 3px rgba(11,120,95,.08)}.span-2{grid-column:span 2}.reschedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:13px;border-radius:12px;background:var(--amber-bg)}.dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;margin-top:20px}.form-error{color:var(--red);font-size:12px;background:var(--red-bg);padding:9px 11px;border-radius:9px}.toast{position:fixed;right:24px;bottom:24px;background:#10201e;color:#fff;padding:12px 17px;border-radius:11px;box-shadow:var(--shadow);z-index:50;font-size:13px}.login-body{background:#071b18;display:grid;place-items:center;padding:24px}.login-shell{width:min(1000px,100%);min-height:600px;display:grid;grid-template-columns:1.1fr .9fr;border-radius:28px;overflow:hidden;background:#0b2b25;box-shadow:0 45px 110px rgba(0,0,0,.3)}.login-brand{padding:60px;color:#fff;background:radial-gradient(circle at 80% 10%,#146c58 0,transparent 36%),linear-gradient(145deg,#09231e,#0d4035);display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:48px;line-height:1.02;letter-spacing:-.04em;max-width:520px;margin:18px 0}.login-brand p{color:#aac5be;line-height:1.6;max-width:470px}.login-brand .eyebrow{font-size:11px;letter-spacing:.16em;color:#57dbb6;font-weight:900}.login-card{background:#fff;padding:55px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:34px;margin:14px 0 5px}.login-card p{color:var(--muted);margin:0 0 28px}.login-card form label{font-size:12px;font-weight:800}.login-card input{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px 46px 13px 13px;outline:0}.password-wrap{position:relative;margin:7px 0 16px}.password-wrap .icon-button{position:absolute;right:4px;top:4px;border:0;background:transparent}.login-card small{text-align:center;color:#99a5a2;margin-top:20px}.login-card .form-error{margin:0 0 12px}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:.2s;box-shadow:20px 0 50px rgba(0,0,0,.2)}.sidebar.open{left:0}.mobile-menu{display:block}.workspace{padding:0 16px 18px}.summary{grid-template-columns:repeat(2,1fr)}.topbar{height:auto;min-height:82px;flex-wrap:wrap;padding:14px 0}.date-nav h1{font-size:19px}.search{width:190px}.year-grid{grid-template-columns:repeat(2,1fr)}.day-cell{min-height:105px}.desktop-new{display:none}}
@media(max-width:650px){.top-actions{width:100%}.search{width:100%}.summary{grid-template-columns:1fr 1fr}.summary-card{padding:12px}.summary-card span{font-size:9px}.month-grid{min-width:0}.weekday{padding:10px 2px;text-align:center}.day-cell{min-height:80px;padding:4px}.day-number{width:24px;height:24px;margin-bottom:3px}.event-chip{height:7px;padding:0;border:0;border-radius:20px;background:var(--event-color);font-size:0}.more-count{display:none}.content-card{overflow:auto}.year-grid{grid-template-columns:1fr}.task-row{grid-template-columns:1fr auto}.task-row .avatar,.task-row>small{display:none}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.reschedule-fields{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand{display:none}.login-card{padding:38px 24px}.dialog-actions{grid-template-columns:1fr 1fr}.dialog-actions span{display:none}.dialog-actions .danger{grid-column:span 2}}
.forgot-link{display:block;text-align:center;margin-top:15px;color:var(--green);font-size:12px;font-weight:750;text-decoration:none}.dialog-subtitle{margin:6px 0 0;color:var(--muted);font-size:12px}.form-grid label small{display:block;margin-top:5px;font-size:10px;color:var(--muted);font-weight:500}.password-actions{grid-template-columns:1fr 1fr auto auto}.recovery-shell{width:min(480px,100%);background:#fff;border-radius:24px;padding:42px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.recovery-shell .brand-mark{margin-bottom:28px}.recovery-shell h1{font-size:32px;margin:14px 0 7px}.recovery-shell>p{color:var(--muted);line-height:1.5;margin:0 0 24px}.recovery-shell form{display:grid;gap:15px}.recovery-shell label{font-size:12px;font-weight:800;color:var(--ink)}.recovery-shell input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;padding:13px;outline:0}.recovery-shell label small{display:block;color:var(--muted);font-weight:500;margin-top:5px}.back-link{display:block;margin-bottom:24px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:700}.task-type-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:#f8faf9}.check-row{display:flex;align-items:flex-start;gap:11px;color:var(--ink)!important}.check-row input{width:18px!important;height:18px;margin:1px 0 0!important;accent-color:var(--green)}.check-row span{flex:1}.check-row strong,.check-row small{display:block}.check-row strong{font-size:12px}.check-row small{margin-top:3px!important}.task-type-card>label:last-child{display:block;margin:13px 0 0;padding-top:12px;border-top:1px solid var(--line)}.completed-badge{background:var(--mint);color:var(--green-dark)}.completed-row{opacity:.88}
@media(max-width:650px){.recovery-shell{padding:30px 22px}.password-actions{grid-template-columns:1fr 1fr}.task-type-card{grid-column:span 1}}
