:root{--bg:#08060d;--panel:#120c19;--line:#452650;--text:#fbf8ff;--muted:#beaaca;--accent:#9550da;--danger:#ff6680}.form-error{margin:14px 0 0;padding:12px 14px;border:1px solid #91384c;border-radius:12px;background:#3a111dcc;color:#ffd7df;font-weight:750}.form-error[hidden]{display:none}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;background:radial-gradient(circle at 7% 0,#2d1236,transparent 35%),radial-gradient(circle at 95% 7%,#132532,transparent 28%),linear-gradient(145deg,#09060e,#07060b 60%,#0e0815);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.aurora{position:fixed;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#994cd109 45%,transparent 70%);filter:blur(55px)}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:268px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 22px;border-right:1px solid #321c3b;background:#0c0812e8;backdrop-filter:blur(24px);display:flex;flex-direction:column;gap:26px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white}.brand-mark{width:43px;height:43px;border:1px solid #a658dc;border-radius:14px;display:grid;place-items:center;font:800 24px Georgia;background:linear-gradient(145deg,#6d32a5,#281337);box-shadow:0 0 35px #a84eff33}.brand b{display:block}.brand small{display:block;color:#ba97cf;font-size:10px;letter-spacing:.28em}.primary,.secondary,.ghost,.danger,.icon-button,.mobile-menu{border:0;cursor:pointer;transition:.2s}.primary{padding:12px 18px;border-radius:13px;background:linear-gradient(135deg,#6935b8,#a653e7);font-weight:800;box-shadow:0 10px 30px #7f39c740;border:1px solid #bc7cf066}.primary:hover{transform:translateY(-1px);filter:brightness(1.12)}.wide,.new-event{width:100%}.wide{display:flex;justify-content:space-between}.sidebar nav{display:grid;gap:7px}.nav-item{width:100%;border:1px solid transparent;border-radius:12px;padding:12px 13px;background:transparent;display:grid;grid-template-columns:24px 1fr auto;text-align:left;color:#c7b7cf;cursor:pointer}.nav-item:hover,.nav-item.active{background:#7a3db51c;border-color:#673179;color:#fff}.nav-item b{font-size:11px;border-radius:20px;padding:2px 7px;background:#8a43c7}.sidebar-note{margin-top:auto;padding:16px;border:1px solid #3c2348;border-radius:16px;background:#ffffff05}.sidebar-note span,.eyebrow{font-weight:800;font-size:10px;letter-spacing:.2em;color:#d79cff}.sidebar-note p{color:#b8a7c1;font-size:13px;line-height:1.5}.logout{color:#a994b4;text-decoration:none;font-size:13px}.workspace{padding:30px clamp(22px,4vw,62px) 50px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.topbar h1{font-size:clamp(32px,4vw,56px);margin:4px 0;letter-spacing:-.055em}.top-actions{display:flex;gap:10px}.search{height:44px;padding:0 14px;border:1px solid #3a2344;border-radius:14px;background:#0f0a15;display:flex;align-items:center;color:#bc91d2}.search input{border:0;outline:0;background:transparent;color:white;width:180px}.icon-button,.mobile-menu{width:44px;height:44px;border-radius:14px;background:#7d3bc8;border:1px solid #bd79ec;color:white;font-size:22px}.mobile-menu{display:none}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:26px;align-items:start}.panel{border:1px solid var(--line);border-radius:22px;background:linear-gradient(155deg,#160e20ef,#0c0912ed);box-shadow:0 28px 80px #0008}.calendar-panel{padding:20px;position:sticky;top:26px}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head button{width:35px;height:35px;border:0;border-radius:10px;background:#ffffff08;color:#d9c6e2}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{margin:18px 0 8px;color:#876f92;font-size:10px;text-align:center;font-weight:800}.day{aspect-ratio:1;border:1px solid transparent;background:transparent;border-radius:11px;color:#c7b7cf;cursor:pointer;position:relative}.day:hover{border-color:#6c3b80;background:#ffffff05}.day.outside{opacity:.25}.day.today{border-color:#9f56d9}.day.selected{background:linear-gradient(145deg,#6f35b8,#9c4cdb);color:white}.day.has-event:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#f1a9ff;bottom:5px;left:50%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.section-head h2{margin:5px 0 0;font-size:25px}.sync-state{font-size:11px;color:#9cdaaf;border:1px solid #275b38;background:#17332077;border-radius:30px;padding:7px 10px}.event-list{display:grid;gap:12px}.event-card{display:grid;grid-template-columns:7px 84px minmax(0,1fr) auto;min-height:112px;border:1px solid #34203d;border-radius:18px;background:linear-gradient(135deg,#140d1d,#0d0a13);overflow:hidden;cursor:pointer;transition:.2s}.event-card:hover{transform:translateY(-2px);border-color:#6b377d;box-shadow:0 18px 50px #0005}.event-card.completed{opacity:.5}.event-color{background:#8f4ad8}.event-card[data-color=rose] .event-color{background:#e052a0}.event-card[data-color=bleu] .event-color{background:#477be6}.event-card[data-color=vert] .event-color{background:#3fbd88}.event-card[data-color=orange] .event-color{background:#e89842}.event-card[data-color=rouge] .event-color{background:#e55065}.event-time{padding:20px 12px;text-align:center;border-right:1px solid #2c1c34}.event-time b{display:block;font-size:19px}.event-time span,.event-meta{color:#a58caf;font-size:11px}.event-content{padding:17px 18px;min-width:0}.event-content h3{margin:0 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-content p{color:#897990;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-badge{align-self:center;margin-right:18px;padding:8px 10px;border:1px solid #4b2b58;border-radius:12px;color:#d9a7ef;font-size:11px}.empty-state{text-align:center;padding:80px 30px;border:1px dashed #44284f;border-radius:20px;color:#9d89a6}.secondary,.ghost,.danger{padding:10px 15px;border-radius:12px;background:#ffffff08;border:1px solid #472853;color:white;font-weight:700}.danger{color:#ff9cad;border-color:#6e2c3a;background:#3b151d}.login-page{display:grid;place-items:center;padding:30px}.login-shell{width:min(1180px,100%);display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.login-copy h1{font-size:clamp(54px,8vw,98px);line-height:.9;letter-spacing:-.07em;margin:20px 0}.login-copy h1 em{font-style:normal;color:#bb6cf0}.login-copy p{max-width:620px;color:#c7b3d0;font-size:18px;line-height:1.55}.login-card{padding:36px}.login-card h2{font-size:30px}.login-card p{color:#bda9c7}.login-card label{display:grid;gap:8px;color:#e6c4f5;font-weight:750;margin:28px 0}.login-card input,.form-grid input,.form-grid textarea,.form-grid select,.reminder-grid input{width:100%;border:1px solid #3b2445;background:#09060e;color:white;border-radius:12px;padding:12px;outline:0}.login-card input:focus,.form-grid :focus,.reminder-grid input:focus{border-color:#a859dd;box-shadow:0 0 0 3px #a859dd22}.login-card small{display:block;color:#7f6e87;margin-top:20px}.sigil{font-size:30px;color:#c977fa}.memory-orb{width:150px;height:150px;border:1px solid #7f3aa4;border-radius:50%;margin-top:35px;display:grid;place-items:center;box-shadow:inset 0 0 50px #b44bf327,0 0 80px #6e249c2b}.memory-orb span{width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0c3ff,#8c43ce 45%,#25102f);box-shadow:0 0 35px #d073ff}.error{padding:12px;border:1px solid #89344a;background:#39121c;border-radius:12px;color:#ffb4c2}dialog{width:min(780px,calc(100% - 24px));max-height:92vh;border:1px solid #653875;border-radius:24px;background:#100b17;color:white;padding:0;box-shadow:0 40px 140px #000;overflow:auto}dialog::backdrop{background:#050309d9;backdrop-filter:blur(10px)}#eventForm{padding:28px}.dialog-head,.dialog-actions,.reminder-title{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:28px}.close{border:0;background:transparent;color:#bba7c4;font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.reminder-grid label{display:grid;gap:7px;color:#cda9dd;font-size:12px;font-weight:800}.form-grid .full{grid-column:1/-1}.form-grid .check{display:flex;align-items:center}.check input{width:auto}.reminder-editor{margin-top:24px;padding:20px;border:1px solid #40234b;border-radius:17px;background:#ffffff03}.reminder-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.dialog-actions{margin-top:24px;gap:10px}.spacer{flex:1}#toast{position:fixed;right:24px;bottom:24px;max-width:360px;padding:14px 18px;border:1px solid #78418b;border-radius:14px;background:#190f23;color:white;box-shadow:0 20px 60px #000;opacity:0;transform:translateY(20px);transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:none}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;width:270px;transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobile-menu{display:block}.dashboard-grid{grid-template-columns:1fr}.calendar-panel{position:static}.login-shell{grid-template-columns:1fr;gap:25px}.memory-orb{display:none}}@media(max-width:600px){.workspace{padding:18px 14px}.top-actions .search{display:none}.event-card{grid-template-columns:6px 68px minmax(0,1fr)}.reminder-badge{display:none}.event-content{padding:14px 12px}.form-grid,.reminder-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}#eventForm{padding:20px}.login-copy h1{font-size:56px}.login-card{padding:24px}}
