:root{--color-green: #386944;--color-green-deep: #166534;--color-ivory: #fff4d9;--color-walnut: #543c30;--color-charcoal: #1c1a17;--color-white: #ffffff;--color-black: #000000;--surface: var(--color-ivory);--surface-inverse: var(--color-charcoal);--text-primary: var(--color-charcoal);--text-secondary: var(--color-walnut);--text-inverse: var(--color-ivory);--accent: var(--color-green);--accent-deep: var(--color-green-deep);--border: rgba(56, 105, 68, .3);--border-subtle: rgba(56, 105, 68, .15);--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Instrument Sans", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 4rem;--text-5xl: 5.5rem;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.5;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(28, 26, 23, .06);--shadow-md: 0 4px 16px rgba(28, 26, 23, .08);--shadow-lg: 0 12px 40px rgba(28, 26, 23, .12);--shadow-glow: 0 0 40px rgba(56, 105, 68, .15);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--ease-cinematic: cubic-bezier(.65, 0, .35, 1);--duration-fast: .2s;--duration-base: .35s;--duration-slow: .6s;--duration-cinematic: 1.2s;--z-base: 0;--z-raised: 10;--z-overlay: 100;--z-modal: 1000;--z-toast: 10000;--z-cinematic: 50000}:root{color-scheme:light;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#fff4d9;color:#1c1a17;--surface: #fff4d9;--border: rgba(56, 105, 68, .3);--muted: #543c30;--accent: #386944}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:#fff4d9;color:#1c1a17;font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}#root{height:100vh;height:100dvh;overflow:hidden}.app-layout{display:flex;gap:1.2rem;min-height:100%;height:100%}.app-layout .app-shell{flex:1;transition:transform .35s ease;min-height:0}.app-layout.menu-open .app-shell{transform:translate(6px)}.app-shell{display:flex;flex-direction:column;gap:1.5rem;min-height:0;height:100%}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;border-radius:1.4rem;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070511d9;gap:1rem}.header-left{display:flex;align-items:center;gap:.9rem}.header-right{margin-left:auto;display:flex;align-items:center;gap:.6rem}.settings-trigger{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:.5px solid rgba(56,105,68,.3);background:transparent;color:#543c30;padding:.45rem .95rem;font-weight:600;cursor:pointer;font-family:inherit}.settings-trigger:hover,.settings-trigger:focus-visible{border-color:#386944;color:#386944;background:#38694414}.course-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid currentColor;padding:.15rem .6rem;font-size:.75rem;font-weight:600}.course-chip--inline{align-self:flex-start;font-size:.7rem;margin-top:.1rem}.hamburger-btn{width:40px;height:40px;border-radius:12px;border:.5px solid rgba(56,105,68,.3);background:transparent;color:#543c30;display:grid;place-items:center;cursor:pointer}.hamburger-btn:hover{color:#386944;border-color:#386944;background:#38694414}.header-icon-btn{width:40px;height:40px;border-radius:12px;border:.5px solid rgba(56,105,68,.3);background:transparent;color:#543c30;display:grid;place-items:center;cursor:pointer}.header-icon-btn:hover{color:#386944;border-color:#386944;background:#38694414}.brand{display:flex;align-items:center;gap:1rem}.brand-button{border:none;background:transparent;padding:0;color:inherit;cursor:pointer;display:flex;align-items:center;gap:1rem}.brand-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.brand-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#a786ffe6,#5ca5ff66);color:#0b0620}.brand-label{font-size:1rem;font-weight:600;margin-bottom:.1rem}.brand-subtitle{font-size:.9rem;color:var(--muted)}.side-menu{width:0;border-radius:1.4rem;border:1px solid var(--border);background:#05060fe6;padding:0;overflow:hidden;opacity:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;transition:width .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),opacity .4s ease;will-change:width}.side-menu.is-visible{width:230px;padding:1.2rem;opacity:1;pointer-events:auto}.side-menu__section{min-width:230px;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}.side-menu.is-visible .side-menu__section{opacity:1;transform:translateY(0)}.side-menu__label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}.side-menu__list{display:flex;flex-direction:column;gap:.6rem;width:100%}.side-menu__item{border:1px solid rgba(255,255,255,.08);border-radius:.9rem;background:#ffffff05;color:inherit;text-align:left;padding:.75rem 1rem;font-size:.95rem;cursor:pointer;transition:background .2s ease,border .2s ease;width:calc(100% - 2rem);margin-right:2rem}.side-menu__item.is-active{border-color:#a786ffcc;background:#a786ff26}.side-menu__item:hover{border-color:#a786ff99;background:#a786ff1f}.side-menu__item--icon{display:flex;align-items:center;gap:.6rem}.side-menu__item-icon{display:inline-flex;align-items:center;justify-content:center}.side-menu__badge{margin-left:auto;min-width:1.5rem;height:1.5rem;border-radius:999px;background:#f59e0b;color:#201104;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.workspace{flex:1;display:grid;grid-template-columns:280px 1fr;gap:1.2rem;min-height:0}.app-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto}.panel{background:var(--surface);border-radius:1.5rem;border:1px solid var(--border);padding:1.1rem;display:flex;flex-direction:column;min-height:0}.panel-heading{margin-bottom:1rem}.panel-heading h2{margin:.2rem 0 0;font-size:1.35rem}.panel-heading span{color:var(--muted);font-size:.85rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-family:DM Sans,sans-serif;color:#543c30;margin:0}.notebook-list,.page-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.2rem}.notebook-card{border-radius:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 25%,#050308),#050614b3);border:1px solid transparent;padding:.85rem;display:grid;grid-template-columns:auto 1fr auto auto;gap:.75rem;align-items:center;color:inherit;cursor:pointer;transition:border .2s ease-in-out,transform .2s ease-in-out;position:relative}.notebook-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,#ffffff20);transform:translateY(-1px)}.notebook-card.is-active{border-color:var(--accent);box-shadow:0 0 20px #a786ff26}.notebook-card__swatch{width:12px;height:48px;border-radius:999px}.notebook-card__copy p{margin:0;font-weight:600;font-size:1rem}.notebook-card__copy span{color:var(--muted);font-size:.8rem}.notebook-card__pages{font-size:.85rem;color:var(--muted)}.notebook-card__actions{display:none}.notebook-card:hover .notebook-card__actions{display:block}.ghost-icon{background:none;border:none;color:var(--muted);padding:.15rem;cursor:pointer;border-radius:8px}.ghost-icon:hover{color:#ff7b9b;background:#2a0b21}.form{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column;gap:.8rem}.form-field label{font-size:.85rem;color:var(--muted);display:block;margin-bottom:.4rem}.input-row{display:flex;align-items:center;gap:.5rem;border-radius:.9rem;border:.5px solid rgba(56,105,68,.3);padding:.55rem .75rem;background:#fff4d9}.input-row input{flex:1;border:none;background:none;color:inherit;font-size:.95rem;outline:none}.primary-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:.85rem;padding:.6rem .8rem;font-weight:600;cursor:pointer;background:#386944;color:#fff4d9}.primary-btn:hover{background:#2d5537}.primary-btn.primary-btn--lg{height:46px;padding:0 28px;font-size:1rem;border-radius:9999px}.panel-pages .pages-toolbar{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem}.ghost-btn{border-radius:.8rem;border:.5px solid rgba(56,105,68,.3);background:transparent;color:#543c30;padding:.45rem .85rem;cursor:pointer;font-family:inherit;transition:border-color .2s ease-in-out,color .2s ease-in-out}.ghost-btn:hover{border-color:#386944;color:#386944}.ghost-btn--icon{display:grid;place-items:center;width:32px;height:32px;padding:0}.ghost-btn.ghost-btn--lg{height:46px;padding:0 24px;font-size:1rem;border-radius:9999px}.ghost-btn:disabled,.serene-input input:disabled{opacity:.5;cursor:not-allowed}.primary-btn:disabled,.primary-btn:disabled:hover{opacity:.4;cursor:not-allowed;background:#386944}.pref-next-wrap{position:relative;display:inline-flex}.pref-next-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#fff4d9;color:#1c1a17;border:.5px solid rgba(84,60,48,.18);border-radius:.6rem;padding:.45rem .7rem;font-size:.85rem;line-height:1.2;white-space:nowrap;box-shadow:0 6px 18px #1c1a171f;opacity:0;pointer-events:none;transition:opacity .14s ease-in-out;z-index:10}.pref-next-wrap.is-locked:hover .pref-next-tooltip,.pref-next-wrap.is-locked:focus-within .pref-next-tooltip{opacity:1}.serene-date-picker-banner{display:flex;flex-direction:column;gap:.9rem;padding:1rem 1.2rem;background:#a786ff14;border:1px solid rgba(167,134,255,.3);border-radius:1rem;margin-top:.5rem}.serene-date-picker-banner__label{font-size:.9rem;font-weight:600;color:#f5f4ff;margin:0}.serene-date-picker-banner__inputs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.serene-date-picker-banner__field{display:flex;flex-direction:column;gap:.4rem}.serene-date-picker-banner__field label{font-size:.8rem;color:var(--muted);font-weight:500}.serene-date-picker-banner__field input[type=date]{width:100%;padding:.6rem .8rem;border-radius:.7rem;border:1px solid var(--border);background:#ffffff0d;color:#f5f4ff;font-size:.9rem;font-family:inherit}.serene-date-picker-banner__field input[type=date]:focus{outline:none;border-color:#a786ff99;background:#ffffff14}.serene-date-picker-banner__field input[type=date]:disabled{opacity:.5;cursor:not-allowed}.serene-date-picker-banner button{align-self:flex-start}.serene-date-status{margin-bottom:.4rem;padding:.75rem 1rem;border-radius:.9rem;border:1px solid rgba(34,197,94,.4);background:#22c55e14;color:#d9ffee}.serene-date-status__label{font-weight:600;margin:0;font-size:.85rem}.serene-date-status__range{margin:.25rem 0 0;font-size:.8rem;color:#a2f4c9}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.page-card{border-radius:1rem;padding:.95rem;border:1px solid var(--border);background:#ffffff03;display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;cursor:pointer;color:inherit;transition:border .2s ease,background .2s ease}.page-card.is-active{border-color:var(--accent);background:#a786ff14}.page-card__copy p{margin:0;font-weight:600}.page-card__copy span{color:var(--muted);font-size:.85rem}.page-card__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-size:.75rem;color:var(--muted)}.empty-state{color:var(--muted);font-size:.9rem}.panel-editor{padding:0}.editor-header{padding:1.3rem 1.5rem .5rem;border-bottom:1px solid var(--border)}.page-title-input{width:100%;border:none;background:none;color:#1c1a17;font-size:1.6rem;font-family:Cormorant Garamond,Georgia,serif;font-weight:400;outline:none}.page-meta{font-size:.85rem;color:var(--muted);margin-top:.4rem}.editor-header__actions{display:flex;align-items:center;gap:.6rem;justify-content:flex-end}.editor-toolbar{padding:.7rem 1.5rem;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.6rem}.toolbar-group{display:inline-flex;gap:.3rem;background:#ffffff05;padding:.25rem;border-radius:999px}.toolbar-button{width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:#543c30;cursor:pointer;display:grid;place-items:center;transition:color .15s ease,background .15s ease}.toolbar-button:hover{color:#386944;background:#38694414}.toolbar-button.is-active{background:#a786ff33;color:#f5f4ff}.toolbar-button:disabled{opacity:.4;cursor:not-allowed}.toolbar-ai-action{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ai-continue-button{border-radius:999px;border:1px solid rgba(167,134,255,.4);background:linear-gradient(135deg,#a786ff40,#a786ff0d);color:#f5f4ff;font-weight:600;font-size:.9rem;padding:.4rem 1rem;min-height:34px;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.ai-continue-button:disabled{opacity:.65;cursor:wait}.ai-continue-button:not(:disabled):hover{transform:translateY(-1px)}.ai-error{font-size:.8rem;color:#f87171}.editor-surface{padding:1.2rem 1.5rem 1.5rem;flex:1;overflow-y:auto}.EditorContent,.editor-content{width:100%}.editor-content{min-height:calc(100vh - 300px);color:#1c1a17;background:#fff4d9;line-height:1.7;font-size:1rem;font-family:DM Sans,sans-serif}.ProseMirror{outline:none}.ProseMirror>*+*{margin-top:.75rem}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{font-weight:600;line-height:1.2;margin:1.2rem 0 .5rem}.ProseMirror h1{font-size:2.1rem}.ProseMirror h2{font-size:1.6rem}.ProseMirror h3{font-size:1.3rem}.ProseMirror ul,.ProseMirror ol{padding-left:1.4rem}.ProseMirror li{margin:.4rem 0}.ProseMirror blockquote{padding:.8rem 1rem;border-left:3px solid #386944;background:#3869440f;border-radius:0 .85rem .85rem 0}.ProseMirror code{background:#3869440f;padding:.2rem .4rem;border-radius:.4rem;font-size:.9rem;color:#386944}.ProseMirror pre{background:#3869440f;padding:1rem;border-radius:1rem;overflow-x:auto}.ProseMirror table{border-collapse:collapse;width:100%;margin:1rem 0;border:.5px solid rgba(56,105,68,.3)}.ProseMirror th,.ProseMirror td{border:.5px solid rgba(56,105,68,.3);padding:.65rem}.ProseMirror th{background:#38694414;color:#386944}.ProseMirror .selectedCell{background:#3869441a}.editor-empty-state{margin:auto;text-align:center;color:var(--muted);font-size:1.1rem}.dashboard{flex:1;max-width:960px;margin:0 auto 1rem;width:100%;display:flex;flex-direction:column;gap:1.1rem}.dashboard-hero{border-radius:1.5rem;border:1px solid var(--border);background:#090912cc;padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-hero__actions{display:flex;gap:.6rem}.dashboard-hero h1{margin:.3rem 0 .35rem;font-size:1.8rem}.dashboard-hero p{margin:0;color:var(--muted)}.dashboard-hero__cta{border:1px solid rgba(167,134,255,.4);border-radius:999px;background:#a786ff26;color:#f5f4ff;padding:.65rem 1.5rem;font-weight:600;cursor:pointer;transition:background .2s ease-in-out,border .2s ease-in-out,transform .2s ease-in-out;white-space:nowrap}.dashboard-hero__cta:hover{background:#a786ff40;border-color:#a786ffcc;transform:translateY(-1px)}.dashboard-hero__cta--ghost{background:transparent;border-color:#a786ff33;color:var(--muted)}.dashboard-hero__cta--ghost:hover{background:#ffffff0d;color:#f5f4ff;border-color:#a786ff80}.dashboard-grid{display:flex;flex-direction:column;gap:1rem}.dashboard-minimal{min-height:0;flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.dashboard.dashboard-minimal{margin-bottom:0}.dashboard-minimal__center{display:flex;align-items:center;justify-content:center}.dashboard-minimal__cta-group{display:inline-flex;gap:1.5rem;align-items:center}.dashboard-minimal__cta{border:1px solid rgba(167,134,255,.5);border-radius:1.4rem;background:#a786ff33;color:#f5f4ff;font-size:1.4rem;padding:1.2rem 2.4rem;display:inline-flex;align-items:center;gap:.8rem;cursor:pointer;transition:transform .2s ease,background .2s ease}.dashboard-minimal__cta:hover{transform:translateY(-2px);background:#a786ff4d}.dashboard-card{border-radius:1.4rem;border:1px solid var(--border);padding:1.1rem;background:#0d0d19cc;box-shadow:0 20px 60px #02041759}.dashboard-card__header{display:flex;align-items:center;gap:.85rem;margin-bottom:.9rem}.dashboard-card__header p{margin:0;font-weight:600}.dashboard-card__header span{color:var(--muted);font-size:.85rem}.dashboard-card__icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#050308}.dashboard-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.dashboard-page{border-radius:1rem;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:.9rem;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;min-height:130px}.dashboard-page p{margin:0;font-weight:600;font-size:1rem}.dashboard-page span{color:var(--muted);font-size:.85rem;line-height:1.4}.dashboard-page small{color:#ffffff80;font-size:.75rem}.dashboard-empty{color:var(--muted);font-size:.9rem}.workspace-focused{grid-template-columns:320px 1fr}.notes-rail{background:var(--surface);border:1px solid var(--border);border-radius:1.5rem;padding:1rem;display:flex;flex-direction:column;gap:1rem}.notes-rail__header{display:flex;gap:.75rem;align-items:flex-start}.notes-rail__accent{width:6px;border-radius:999px;min-height:42px;background:var(--accent)}.notes-rail__meta{font-size:.85rem;color:var(--muted)}.notes-rail__toolbar{display:flex;gap:.5rem;align-items:center}.notes-rail__toolbar .input-row{flex:1}.notes-rail__list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding-right:.2rem}.notes-rail__item{border:1px solid var(--border);border-radius:1rem;padding:.6rem .75rem;background:#ffffff03;color:inherit;display:flex;align-items:center;gap:.4rem}.notes-rail__body{border:none;background:transparent;text-align:left;color:inherit;flex:1;display:flex;flex-direction:column;gap:.2rem;cursor:pointer;padding:0}.notes-rail__body p{margin:0;font-weight:600;font-size:.95rem}.notes-rail__body span{color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-rail__body time{font-size:.75rem;color:#ffffff80}.notes-rail__item.is-active{border-color:var(--accent);background:#a786ff26}.workspace-editor{padding:0}.all-notes{flex:1;display:flex;flex-direction:column;gap:1.2rem}.app-view>.all-notes{padding:32px}.all-notes__hero{border-radius:1.5rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;padding:1.5rem}.all-notes__hero h1{margin:.35rem 0;font-size:1.7rem;font-family:Cormorant Garamond,Georgia,serif;font-weight:400}.all-notes__hero p{margin:0;color:var(--muted)}.all-notes__list{display:flex;flex-direction:column;gap:.8rem}.all-notes__item{border:.5px solid rgba(56,105,68,.3);border-radius:1.2rem;padding:1rem 1.2rem;background:#fff4d9;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.4rem;cursor:pointer;transition:border .2s ease,background .2s ease}.all-notes__item:hover{border-color:#386944;background:#38694414}.all-notes__row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;color:var(--muted);font-size:.85rem}.all-notes__notebook{display:flex;align-items:center;gap:.5rem}.all-notes__actions{display:flex;align-items:center;gap:.4rem}.all-notes__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.all-notes__item h3{margin:0;font-size:1.1rem;font-weight:600}.all-notes__snippet{margin:0;color:var(--muted);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.all-notes__empty{border:1px dashed var(--border);border-radius:1.2rem;padding:1.5rem;text-align:center;color:var(--muted)}.notebooks-view{flex:1;display:flex;flex-direction:column;gap:1.2rem;padding:32px}.notebooks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.notebooks-actions{margin-top:1rem}.notebooks-create-btn{border:none;border-radius:.95rem;background:#386944;color:#fff4d9;padding:.6rem 1.3rem;font-weight:600;cursor:pointer;transition:background .2s ease}.notebooks-create-btn:hover{background:#2d5537}.notebook-tile{border:.5px solid rgba(56,105,68,.3);border-radius:1.2rem;padding:1rem;background:#fff4d9;color:#1c1a17;text-align:left;display:flex;gap:.8rem;cursor:pointer;transition:border .2s ease,transform .2s ease}.notebook-tile:hover{border-color:#386944;background:#38694414;transform:translateY(-2px)}.notebook-tile__accent{width:6px;border-radius:999px;background:var(--accent)}.notebook-tile__body{display:flex;flex-direction:column;gap:.2rem}.notebook-tile__title{margin:0;font-weight:600}.notebook-tile__meta{color:var(--muted);font-size:.85rem}.notebook-title-row{display:flex;align-items:center;gap:.4rem}.notebook-customize-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;transition:color .2s ease,background .2s ease}.notebook-customize-btn:hover,.notebook-customize-btn:focus-visible{color:#f5f4ff;background:#ffffff0d}.notebook-customize-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.courses-view{padding:32px;display:flex;flex-direction:column;gap:24px}.courses-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.courses-header h1{margin:0 0 6px;font-size:26px;font-family:Cormorant Garamond,Georgia,serif;font-weight:400}.courses-header p{margin:0;color:#543c30}.courses-filter{display:flex;flex-direction:column;gap:6px;min-width:200px}.courses-filter label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#543c30}.courses-filter select{background:#fff4d9;border:.5px solid rgba(56,105,68,.3);color:#1c1a17;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;cursor:pointer;outline:none}.courses-filter select:focus{border-color:#386944}.courses-groups{display:flex;flex-direction:column;gap:20px}.courses-group{display:flex;flex-direction:column;gap:14px}.courses-group__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.courses-group__header h2{margin:0;font-size:18px}.courses-group__header span{color:#543c30;font-size:13px}.courses-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.courses-card{background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #0000000f;transition:border-color .2s ease-in-out}.courses-card:hover{border-color:#386944}.courses-card__title{display:flex;flex-direction:column;gap:4px}.courses-card__code{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#543c30}.courses-card__name{font-size:16px}.courses-card__meta{display:flex;flex-direction:column;gap:4px;color:#543c30;font-size:13px}.courses-card__status{align-self:flex-start;padding:4px 10px;border-radius:999px;background:#3869441f;color:#386944;font-size:12px;font-weight:500}.courses-card__actions{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:.5px solid rgba(56,105,68,.2)}.courses-card__confirm-label{font-size:12px;color:#543c30;margin-right:2px}.courses-card__btn{padding:3px 10px;border-radius:6px;border:.5px solid #543c30;background:transparent;color:#543c30;font-size:12px;cursor:pointer;transition:background .15s ease}.courses-card__btn:hover{background:#543c3014}.courses-card__btn--danger{border-color:#8b2e2e;color:#8b2e2e}.courses-card__btn--danger:hover{background:#8b2e2e14;border-color:#8b2e2e}.courses-modal-backdrop{position:fixed;inset:0;background:#1c1a1766;display:flex;align-items:center;justify-content:center;z-index:1000}.courses-modal{background:#fff4d9;border-radius:14px;padding:24px;width:100%;max-width:420px;box-shadow:0 8px 32px #00000024}.courses-modal__title{margin:0 0 18px;font-size:17px;font-weight:600;color:#1c1a17}.courses-modal__form{display:flex;flex-direction:column;gap:14px}.courses-modal__field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#543c30;font-weight:500}.courses-modal__field input,.courses-modal__field select{padding:8px 10px;border:.5px solid rgba(56,105,68,.3);border-radius:8px;font-size:14px;color:#1c1a17;background:#fff4d9;font-family:inherit}.courses-modal__field input:focus,.courses-modal__field select:focus{outline:none;border-color:#386944}.courses-modal__error{margin:0;font-size:13px;color:#dc2626}.courses-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.courses-modal__cancel{padding:7px 16px;border-radius:8px;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#543c30;font-size:14px;cursor:pointer}.courses-modal__cancel:hover{background:#fff4d9}.courses-modal__save{padding:7px 16px;border-radius:8px;border:none;background:#386944;color:#fff4d9;font-size:14px;font-weight:500;cursor:pointer}.courses-modal__save:hover{background:#2d5537}.courses-modal__save:disabled,.courses-modal__cancel:disabled{opacity:.6;cursor:not-allowed}.courses-empty{padding:24px;border:1px dashed rgba(56,105,68,.3);border-radius:16px;color:#543c30}.courses-empty h2{margin:0 0 6px;font-size:18px}.courses-empty p{margin:0}.notebooks-view h1,.notebooks-view h2,.courses-view h1,.courses-view h2,.tasks-view h1{font-family:Cormorant Garamond,Georgia,serif;font-weight:400}.tasks-view{display:flex;flex-direction:column;gap:1.5rem;padding:0 1.5rem}.tasks-section-heading{display:flex;flex-direction:column;gap:.3rem}.tasks-section-heading--actions{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.tasks-section-heading--actions h2{margin:0}.tasks-section-heading h1,.tasks-section-heading h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:400}.tasks-section-heading--actions .primary-btn{white-space:nowrap}.tasks-events{display:flex;flex-direction:column;gap:1rem}.tasks-event-card{border:1px solid var(--border);border-radius:1.1rem;padding:.8rem 1rem;background:#ffffff05;color:inherit;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:border .2s ease,transform .2s ease}.tasks-event-card:hover{border-color:#a786ff99;transform:translateY(-2px)}.tasks-event-card__accent{width:8px;align-self:stretch;border-radius:999px;min-height:40px}.tasks-event-card__body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.tasks-event-card__body p{margin:0;font-size:1.05rem;font-weight:600}.tasks-event-card__course{font-size:.8rem;font-weight:600;color:#fffc}.tasks-event-card__date{font-size:.85rem;color:var(--muted)}.tasks-event-card__meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.tasks-event-card__quality,.tasks-event-card__missing{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.tasks-event-card__quality{border:1px solid rgba(255,255,255,.12)}.tasks-event-card__quality.is-high{background:#22c55e29;color:#bbf7d0}.tasks-event-card__quality.is-medium{background:#3b82f629;color:#bfdbfe}.tasks-event-card__quality.is-best-effort{background:#f472b629;color:#fbcfe8}.tasks-event-card__missing{background:#f59e0b29;color:#fde68a}.needs-document-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;font-family:Instrument Sans,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.01em;color:#543c30;background:#fff4d9d9;border:1px solid rgba(84,60,48,.18);line-height:1.2}.calendar-event__needs-document{position:absolute;top:4px;right:18px;z-index:2;border-radius:999px;padding:.05rem .4rem;font-family:Instrument Sans,sans-serif;font-size:.6rem;font-weight:600;color:#543c30;background:#fff4d9f2;border:1px solid rgba(84,60,48,.22);pointer-events:none;line-height:1.15}.tasks-event-card__missing-dot{width:.45rem;height:.45rem;border-radius:999px;background:#f59e0b}.tasks-event-card__progress{width:60px;height:60px;margin-left:auto;display:flex;align-items:center;justify-content:center}.tasks-see-more{border:none;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;margin-left:.2rem;align-self:flex-start}.tasks-list{display:flex;flex-direction:column;gap:.8rem}.tasks-row{border:1px solid var(--border);border-radius:1.1rem;padding:.8rem 1rem;background:#ffffff05;display:flex;align-items:center;gap:.8rem;transition:border .2s ease;cursor:pointer}.tasks-row.is-complete{opacity:.6}.tasks-row__check{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer}.tasks-row__check.is-selected{background:linear-gradient(135deg,#a786ff,#6ac0ff);border-color:transparent}.tasks-row__dot{width:8px;height:32px;border-radius:999px}.exam-detail{display:flex;flex-direction:column;gap:1.2rem}.exam-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.4rem;border:1px solid var(--border);border-radius:1.2rem;background:#ffffff05}.exam-detail__title-block{display:flex;flex-direction:column;gap:.7rem}.exam-detail__title-row{display:flex;align-items:flex-start;gap:.6rem}.exam-detail__accent{width:10px;height:44px;border-radius:999px;display:inline-block}.exam-detail__title{margin:0;font-size:1.6rem}.exam-detail__course{margin:0;color:var(--muted);font-size:.95rem}.exam-detail__progress{display:flex;align-items:center;justify-content:center}.exam-detail__attachments{display:grid;grid-template-columns:auto 1px 1fr auto;align-items:center;gap:.8rem;padding:1rem 1.2rem;border:1px dashed var(--border);border-radius:1rem;background:#ffffff05}.attach-btn{min-width:180px}.attachments-separator{width:1px;height:80px;background:var(--border)}.attachments-tiles{display:flex;align-items:center;gap:.7rem;overflow-x:auto;padding-bottom:.3rem;width:100%;min-height:110px}.attachment-tile{width:96px;height:96px;border:1px solid var(--border);border-radius:.8rem;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:.5rem;text-align:center;background:#ffffff0a;position:relative}.attachment-tile__name{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.attachment-tile__delete{position:absolute;top:-8px;right:-8px;border:none;background:#1c1a178c;color:inherit;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;opacity:0;cursor:pointer;box-shadow:0 4px 10px #00000059;pointer-events:none}.attachment-tile__open{position:absolute;inset:0;border:none;background:transparent;opacity:0;cursor:pointer;display:grid;place-items:center;pointer-events:none}.attachment-tile__open{border:none;background:linear-gradient(135deg,#a786ff,#5ca5ff);color:#0b0b16;border-radius:999px;padding:.45rem 1rem;font-weight:600;cursor:pointer;box-shadow:0 8px 18px #00000059}.attachment-tile:hover .attachment-tile__delete,.attachment-tile:hover .attachment-tile__open{opacity:1;pointer-events:auto}.exam-detail__attachments--pill{grid-template-columns:auto 1px 1fr auto;padding:.75rem .9rem;gap:.6rem;align-items:center}.attach-btn--pill{min-width:auto;padding:.45rem .85rem;border-radius:999px;background:#ffffff0f;border:1px solid var(--border);color:#fff;font-weight:600}.attach-btn--pill:hover{background:#ffffff1f}.attach-btn:disabled,.attach-btn--pill:disabled{opacity:.6;cursor:not-allowed}.attachments-separator--pill{height:44px}.attachments-tiles--pill{min-height:0;padding-bottom:0;gap:.5rem}.attachment-tile--pill{width:auto;height:auto;min-width:0;flex-shrink:0;padding:.45rem .8rem;border-radius:999px}.attachment-tile--pill .attachment-tile__name{-webkit-line-clamp:1}.attachment-tile--pill .attachment-tile__open{inset:2px 6px;border-radius:999px}.attachment-tile--pill .attachment-tile__delete{top:-6px;right:-6px}.attachments-arrow--pill{padding:.3rem .45rem}.attachments-arrow{border:none;background:#ffffff14;color:inherit;border-radius:.6rem;padding:.4rem .6rem;cursor:pointer}.exam-detail__tasks-heading{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem}.exam-detail__tasks{display:flex;flex-direction:column;gap:.6rem}.exam-task-row{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;border:1px solid var(--border);border-radius:.9rem;padding:.75rem .9rem;background:#ffffff05;cursor:pointer}.exam-task-row.is-complete{opacity:.65}.exam-task-row__check{width:20px;height:20px;border:1px solid var(--border);border-radius:999px;background:transparent;cursor:pointer}.exam-task-row__check.is-selected{background:linear-gradient(135deg,#a786ff,#5ca5ff);border-color:transparent}.exam-task-row__body{display:flex;flex-direction:column;gap:.1rem}.exam-task-row__time{color:var(--muted);font-size:.85rem}.tasks-row__body{flex:1;display:flex;flex-direction:column;gap:.2rem}.tasks-row__body p{margin:0;font-weight:600}.tasks-row__meta{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.85rem}.tasks-row__course{font-weight:600;font-size:.8rem}.tasks-row__time{font-variant-numeric:tabular-nums}.tasks-row__priority{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.priority-high{color:#f87171}.priority-medium{color:#fbbf24}.priority-low{color:#4ade80}.tasks-row__progress{width:60px;height:60px}.progress-ring{width:100%;height:100%}.progress-ring__label{font-size:.7rem;fill:#f5f4ff}.tasks-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center}.tasks-modal__backdrop{position:fixed;inset:0;background:#1c1a1766}.tasks-modal__card{position:relative;width:min(90vw,420px);border:1px solid var(--border);border-radius:1.2rem;background:var(--surface);padding:1.3rem;z-index:61;display:flex;flex-direction:column;gap:1rem}.tasks-modal__card--wide{width:min(90vw,520px)}.tasks-modal__header{display:flex;align-items:center;justify-content:space-between}.tasks-modal__list{display:flex;flex-direction:column;gap:.8rem}.tasks-modal__list .tasks-row{cursor:default}.tasks-modal__form{display:flex;flex-direction:column;gap:.9rem}.tasks-modal__inline{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.tasks-modal__field--inline input{width:100%}.tasks-modal__field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.tasks-modal__field input,.tasks-modal__field select,.tasks-modal__field textarea{border-radius:.9rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;padding:.55rem .8rem;color:#1c1a17;font-size:.95rem;font-family:inherit}.tasks-modal__field input:focus,.tasks-modal__field select:focus,.tasks-modal__field textarea:focus{outline:none;border-color:#386944}.tasks-modal__actions{display:flex;justify-content:flex-end;gap:.6rem}.assessment-plan-preview{padding:1.25rem;font-family:Instrument Sans,system-ui,sans-serif;color:#1c1a17}.assessment-plan-preview__header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.4rem}.assessment-plan-preview__title{margin:0;font-family:Instrument Sans,system-ui,sans-serif;font-weight:600;font-size:1.05rem;color:#1c1a17}.assessment-plan-preview__quality{font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;background:#3869441a;color:#386944;font-weight:600}.assessment-plan-preview__hint{margin:0 0 .9rem;font-size:.85rem;color:#6b6457;line-height:1.4}.assessment-plan-preview__list{list-style:none;padding:0;margin:0 0 .6rem;display:flex;flex-direction:column;gap:.55rem}.assessment-plan-preview__row{display:grid;grid-template-columns:1fr 8rem auto;gap:.6rem;align-items:end;padding:.65rem .75rem;border:1px solid rgba(84,60,48,.12);border-radius:10px;background:#fff4d959}.assessment-plan-preview__name,.assessment-plan-preview__duration{display:flex;flex-direction:column;gap:.2rem;min-width:0}.assessment-plan-preview__label{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#8a8275;font-weight:600}.assessment-plan-preview__input{font-family:Instrument Sans,system-ui,sans-serif;font-size:.92rem;color:#1c1a17;background:#fff;border:1px solid rgba(84,60,48,.2);border-radius:7px;padding:.45rem .6rem;width:100%;box-sizing:border-box}.assessment-plan-preview__input:focus{outline:none;border-color:#386944;box-shadow:0 0 0 2px #38694426}.assessment-plan-preview__input--hours{text-align:right}.assessment-plan-preview__input--invalid{border-color:#c46a5a;background:#c46a5a0f}.assessment-plan-preview__remove{align-self:end;background:transparent;border:1px solid rgba(84,60,48,.2);color:#543c30;font-family:Instrument Sans,system-ui,sans-serif;font-size:.8rem;padding:.45rem .7rem;border-radius:7px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.assessment-plan-preview__remove:hover{background:#c46a5a14;border-color:#c46a5a;color:#a85540}.assessment-plan-preview__add{background:transparent;border:1px dashed rgba(56,105,68,.4);color:#386944;font-family:Instrument Sans,system-ui,sans-serif;font-size:.88rem;font-weight:600;padding:.5rem .8rem;border-radius:8px;cursor:pointer;width:100%;transition:background .15s ease,border-color .15s ease}.assessment-plan-preview__add:hover{background:#3869440f;border-color:#386944}.assessment-plan-preview__warning{margin:.6rem 0 0;font-size:.8rem;color:#a85540}.class-modal__date{margin:.2rem 0 .6rem;color:var(--muted);font-size:.85rem}.class-modal__actions{justify-content:space-between;align-items:center}.danger-btn{border-radius:.8rem;border:1px solid rgba(248,113,113,.4);background:#f8717114;color:#f87171;padding:.45rem 1rem;cursor:pointer}.danger-btn:hover,.danger-btn:focus-visible{background:#f8717133}.creation-switch{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;align-self:flex-start}.creation-switch__btn{border:none;background:transparent;color:var(--muted);padding:.35rem 1rem;font-weight:600;cursor:pointer}.creation-switch__btn.is-active{background:#ffffff14;color:#f5f4ff}.tasks-modal__subheading{font-size:.95rem;font-weight:600}.tasks-modal__subheading-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.tasks-list-group{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.4rem}.tasks-list-heading{font-weight:600}.tasks-empty-copy{margin:0;color:var(--muted);font-size:.9rem}.calendar-view{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0;height:100%;padding:20px 24px;box-sizing:border-box}.calendar-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 1.2rem;border-radius:1.1rem;border:1px solid rgba(56,105,68,.5);background:#fff4d9;gap:1rem}.calendar-header__left{display:flex;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:700}.calendar-header__title{color:#1c1a17}.calendar-header__center{display:flex;justify-content:center}.calendar-header__right{display:flex;justify-content:flex-end;align-items:center;gap:.4rem}.segmented{display:inline-flex;border-radius:999px;border:.5px solid rgba(56,105,68,.3);background:#3869440f;padding:.2rem;gap:.2rem}.segmented__btn{border:none;background:transparent;color:#543c30;padding:.35rem .9rem;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.85rem;transition:background .15s,color .15s}.segmented__btn.is-active{background:#386944;color:#fff4d9}.calendar-grid{border:1.5px solid #a3a396;border-radius:1.1rem;background:#fff4d9;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;box-shadow:0 2px 12px #3869440f}.calendar-grid__header{display:grid;grid-template-columns:100px repeat(7,1fr);background:#386944;border-bottom:none}.calendar-grid__time-col{padding:.8rem .9rem;border-right:none;background:#386944;color:#fff4d9;font-size:.9rem;font-family:DM Sans,sans-serif}.calendar-grid__time-col--hours .calendar-grid__time-cell:last-child{border-bottom:none}.calendar-grid__day-header{padding:.8rem .9rem;border-right:none;display:flex;align-items:center;gap:.35rem;color:#fff4d9}.calendar-grid__day-date{display:inline-flex;align-items:center;gap:.3rem}.calendar-grid__day-name{color:#fff4d9;font-size:.875rem;font-weight:500;font-family:DM Sans,sans-serif}.calendar-grid__day-number{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff4d9}.calendar-grid__day-number.is-today{background:#fff4d940;color:#fff4d9;outline:1.5px solid rgba(255,244,217,.6)}.calendar-grid__exam-dots{display:inline-flex;align-items:center;gap:.25rem}.calendar-exam-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.15);box-shadow:0 0 0 1px #1665341f;cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.calendar-exam-dot:hover,.calendar-exam-dot:focus-visible{transform:scale(1.1);box-shadow:0 0 0 2px #16653440}.calendar-exam-milestone{display:inline-block;width:8px;height:8px;transform:rotate(45deg);border:1px solid rgba(0,0,0,.15);cursor:pointer;padding:0;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.calendar-exam-milestone:hover,.calendar-exam-milestone:focus-visible{transform:rotate(45deg) scale(1.2);box-shadow:0 0 0 2px #16653440}.calendar-exam-plan-pill{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:#1665341a;border:1px solid rgba(22,101,52,.2);color:#166534;font-size:.65rem;font-family:var(--font-ui, "Instrument Sans", sans-serif);font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease}.calendar-exam-plan-pill:hover,.calendar-exam-plan-pill:focus-visible{background:#1665342e;border-color:#16653459}.calendar-tasks-strip{display:grid;grid-template-columns:100px repeat(7,1fr);border-bottom:none;background:#38694414}.calendar-tasks-strip__label{border-right:none;background:#386944;color:#fff4d9;font-family:DM Sans,sans-serif;font-weight:500;font-size:.8rem;display:flex;align-items:center;justify-content:center;padding:.4rem .8rem;border-radius:0;border-bottom:2px solid #fff4d9}.calendar-tasks-strip__day{border-right:none;padding:.35rem .45rem;display:flex;flex-direction:column;gap:.35rem}.calendar-tasks-strip__empty{color:var(--muted);font-size:.9rem;padding:.2rem 0}.calendar-all-day__list{display:flex;flex-direction:column;gap:.4rem}.calendar-blocker-all-day{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .6rem;border-radius:.75rem;background:#3869440f;border:1px dashed rgba(56,105,68,.3);cursor:grab}.calendar-blocker-all-day.is-dragging{opacity:.7}.calendar-task{display:grid;grid-template-columns:auto 6px 1fr;align-items:center;gap:.4rem;border:.5px solid rgba(56,105,68,.3);border-radius:.8rem;padding:.4rem .5rem;background:#fff4d9;font-size:.9rem;color:#1c1a17}.calendar-task.is-complete{opacity:.6}.calendar-task.is-complete .calendar-task__title{text-decoration:line-through}.calendar-task__check{border:none;background:transparent;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.calendar-task__dot{width:6px;height:26px;border-radius:999px}.calendar-task__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-hours-wrapper{flex:1;min-height:0;overflow:auto;overscroll-behavior-y:none;position:relative;background:linear-gradient(to right,#386944 100px,transparent 100px)}.calendar-grid__body{display:grid;grid-template-columns:100px repeat(7,1fr)}.calendar-grid__time-cell{min-height:48px;border-bottom:none;padding:.4rem .8rem;background:#386944;color:#fff4d9;font-size:.75rem;font-family:DM Sans,sans-serif}.calendar-grid__day-col{position:relative;border-right:1px solid rgba(56,105,68,.2);display:flex;flex-direction:column}.calendar-grid__hours{flex:1;position:relative}.calendar-grid__hour-row{min-height:48px;border-bottom:none}.calendar-grid__hour-row:nth-child(2n){background:#38694408}.calendar-grid__time-cell.calendar-hour--sleep{opacity:.38;transition:opacity .2s}.calendar-grid__time-cell.calendar-hour--productive{opacity:1;font-weight:600;border-right:3px solid rgba(56,105,68,.55);transition:opacity .2s}.calendar-grid__hour-row.calendar-hour--sleep{background:#1c1a172e;transition:background .2s}.calendar-grid__hour-row.calendar-hour--productive{background:#3869441a;transition:background .2s}.calendar-events-layer{position:absolute;inset:0 4px;pointer-events:none}.calendar-event{position:absolute;left:0;right:0;border:.5px solid rgba(56,105,68,.3);border-left-width:4px!important;border-radius:2px 6px 6px 2px;padding:.35rem .5rem;background:#ffffffeb;color:#1c1a17;font-size:.9rem;pointer-events:auto;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;z-index:3;opacity:.95;will-change:transform;backface-visibility:hidden}.calendar-event.is-complete{opacity:.55}.calendar-event.is-complete .calendar-event__title{text-decoration:line-through}.calendar-event.is-dragging{box-shadow:0 6px 14px #00000059;cursor:grabbing;opacity:.5}.calendar-event.is-selected{box-shadow:0 0 0 2px #16653459;background:#38694414}.calendar-event--preview{pointer-events:none;border-style:dashed;opacity:.6;background:#3869441a}.calendar-event__title{font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event__time{font-size:.8rem;color:var(--muted);opacity:.85}.calendar-event__check{position:absolute;top:4px;right:4px;border:none;background:transparent;color:inherit;cursor:pointer;padding:2px;opacity:.8}.calendar-event__check:hover,.calendar-event__check:focus-visible{opacity:1}.calendar-event__title,.calendar-blocker-event__title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.calendar-class-event__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-class-event{position:absolute;left:4px;right:4px;border:1px solid rgba(0,0,0,.1);border-top-width:4px!important;border-radius:0 0 6px 6px;padding:.35rem .5rem .7rem;font-size:.85rem;background:#ffffffe0;color:#1c1a17;opacity:.85;pointer-events:auto;z-index:1}.calendar-class-event.is-dragging{opacity:.4}.calendar-class-event.is-selected{box-shadow:0 0 0 2px #16653459;opacity:.95}.calendar-class-event--preview{border-style:dashed;background:#f0fdf4b3;pointer-events:none}.calendar-class-event__title{font-weight:600;margin:0}.calendar-class-event__title{font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-class-event__course{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.calendar-class-event__time{font-size:.75rem;margin-top:.1rem}.calendar-class-event__handle{position:absolute;left:12px;right:12px;bottom:6px;height:6px;border-radius:999px;background:#1c1a1733;cursor:ns-resize;opacity:0;transition:opacity .15s ease}.calendar-class-event:hover .calendar-class-event__handle,.calendar-class-event.is-selected .calendar-class-event__handle{opacity:.5}.calendar-blocker-event{position:absolute;left:8px;right:8px;border:2px dashed rgba(56,105,68,.3)!important;border-radius:.9rem;padding:.4rem .55rem 1rem;background-image:repeating-linear-gradient(135deg,transparent,transparent 10px,rgba(0,0,0,.04) 10px,rgba(0,0,0,.04) 20px);font-size:.85rem;background:#fff4d9;color:#543c30;opacity:.85;pointer-events:auto;z-index:2;box-sizing:border-box;display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.calendar-blocker-event.is-dragging{opacity:.5}.calendar-blocker-event.is-selected{box-shadow:0 0 0 2px #16653459;opacity:.95}.calendar-blocker-event--preview{border-style:dashed;pointer-events:none}.calendar-blocker-event__title{font-weight:600;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;overflow-wrap:break-word;line-height:1.2}.calendar-blocker-event__time{font-size:.75rem;margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-blocker-event__handle{position:absolute;left:12px;right:12px;bottom:6px;height:6px;border-radius:999px;background:#1c1a1733;cursor:ns-resize;pointer-events:auto;opacity:0;transition:opacity .15s ease}.calendar-blocker-event:hover .calendar-blocker-event__handle,.calendar-blocker-event.is-selected .calendar-blocker-event__handle{opacity:.5}.calendar-blocker-event__title+.calendar-blocker-event__time,.calendar-class-event__title+.calendar-class-event__time,.calendar-event__title+.calendar-event__time{display:inline-block;max-height:1.1rem}.calendar-blocker-event__icon{font-size:.8rem;opacity:.8}.calendar-tile__tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:160px;max-width:260px;padding:.5rem .65rem;background:#fff4d9;border:1px solid rgba(56,105,68,.4);border-left:3px solid #386944;border-radius:6px;box-shadow:0 6px 14px #1c1a172e;color:#1c1a17;font-family:Instrument Sans,sans-serif;font-size:.78rem;line-height:1.35;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease .25s,visibility 0s linear .4s;z-index:50;white-space:normal;text-align:left}.calendar-tile__tooltip--flip{bottom:auto;top:calc(100% + 6px)}.calendar-weekly-task-event:hover .calendar-tile__tooltip,.calendar-weekly-task-event:focus-visible .calendar-tile__tooltip,.calendar-class-event:hover .calendar-tile__tooltip,.calendar-class-event:focus-visible .calendar-tile__tooltip,.calendar-blocker-event:hover .calendar-tile__tooltip,.calendar-blocker-event:focus-visible .calendar-tile__tooltip,.calendar-event:hover .calendar-tile__tooltip,.calendar-event:focus-visible .calendar-tile__tooltip{opacity:1;visibility:visible;transition:opacity .15s ease .25s,visibility 0s linear .25s}.calendar-tile__tooltip-title{font-weight:600;margin-bottom:.15rem;overflow-wrap:anywhere}.calendar-tile__tooltip-sub{color:#543c30;opacity:.9;font-size:.72rem;overflow-wrap:anywhere}.calendar-tile__tooltip-time{color:#386944;font-size:.72rem;margin-top:.2rem}.calendar-view-toggle{display:inline-flex;border:.5px solid rgba(56,105,68,.3);border-radius:999px;padding:2px;margin:.5rem 1rem;align-self:flex-start;background:#3869440f}.calendar-view-toggle__btn{border:none;background:transparent;color:#543c30;font-size:.8rem;padding:.25rem .85rem;border-radius:999px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.calendar-view-toggle__btn--active{background:#3869441a;color:#386944;font-weight:500}.calendar-task-view-placeholder{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted, rgba(255, 255, 255, .45));font-size:.9rem}.calendar-session-block{position:absolute;border-radius:.6rem;padding:.35rem .5rem .5rem;font-size:.82rem;pointer-events:auto;z-index:2;box-sizing:border-box;display:flex;flex-direction:column;gap:.1rem;overflow:hidden;cursor:pointer;border:none}.calendar-session-block__header{display:flex;align-items:center;gap:.25rem;min-width:0}.calendar-session-block__check{font-size:.7rem;flex-shrink:0}.calendar-session-block__title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:1.2}.calendar-session-block__title.is-struck{text-decoration:line-through}.calendar-session-block__user-icon{flex-shrink:0;opacity:.7}.calendar-session-block__task{font-size:.75rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-session-block__duration{font-size:.72rem;opacity:.6;margin-top:auto;text-align:right}.calendar-session-block__menu{position:absolute;top:100%;left:0;z-index:20;background:var(--surface, #1e1e2e);border:1px solid var(--border);border-radius:.5rem;padding:.25rem;display:flex;flex-direction:column;min-width:130px;box-shadow:0 4px 16px #0006}.calendar-session-block__menu button{background:transparent;border:none;color:inherit;text-align:left;padding:.4rem .6rem;border-radius:.3rem;cursor:pointer;font-size:.82rem;transition:background .2s ease-in-out}.calendar-session-block__menu button:hover{background:#ffffff12}.repeat-end-row{display:flex;flex-direction:column;gap:.35rem}.repeat-end-option{display:flex;align-items:center;gap:.4rem}.repeat-end-count{width:70px}.repeat-end-inline{display:flex;align-items:center;gap:.35rem}.calendar-now-indicator{position:absolute;left:0;right:0;height:2px;pointer-events:none;z-index:5}.calendar-now-line{position:absolute;left:0;right:0;height:2px;background:#38694466}.calendar-now-line--today{height:2px;background:#38694499}.calendar-now-label{position:absolute;left:8px;top:-10px;background:#fff4d9;color:#386944;padding:.1rem .4rem;border-radius:.4rem;font-size:.75rem;border:1px solid rgba(56,105,68,.3);box-shadow:0 1px 4px #0000000f}.calendar-exam-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:30}.calendar-exam-modal__backdrop{position:absolute;inset:0;background:#1c1a1780}.calendar-exam-modal__card{position:relative;width:min(560px,calc(100% - 2rem));background:#0c0c16;border:1px solid var(--border);border-radius:1rem;padding:1rem;box-shadow:0 24px 60px #00000059;display:flex;flex-direction:column;gap:.75rem;z-index:1}.calendar-exam-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.calendar-exam-modal__title{display:flex;align-items:flex-start;gap:.6rem}.calendar-exam-modal__accent{width:8px;height:36px;border-radius:999px;display:block}.calendar-exam-modal__title h3{margin:0;font-size:1.05rem}.calendar-exam-modal__title p{margin:.05rem 0 0;color:var(--muted);font-size:.9rem}.calendar-exam-modal__tasks{display:flex;flex-direction:column;gap:.5rem}.calendar-exam-modal__empty{margin:0;color:var(--muted);font-size:.9rem}.exam-task-row--compact{padding:.55rem .7rem}.calendar-exam-modal__task-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.35)}.calendar-exam-modal__footer{display:flex;justify-content:flex-end}.calendar-exam-modal__footer .ghost-btn{padding:.45rem .75rem;text-transform:lowercase}.calendar-event__handle{position:absolute;left:10px;right:10px;height:6px;border-radius:999px;background:#ffffff80;cursor:ns-resize}.ai-floating-button{position:fixed;right:24px;bottom:24px;width:78px;height:78px;border-radius:999px;border:none;background:radial-gradient(circle at 20% 20%,#ffe7c8,#f97316 55%,#c2410c);color:#050308;font-weight:700;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;box-shadow:0 20px 40px #f9731659,0 6px 15px #0000004d;cursor:pointer;z-index:600;transition:transform .25s ease,box-shadow .25s ease}.ai-floating-button:focus-visible,.ai-floating-button:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 24px 50px #f9731673,0 8px 18px #00000059}.ai-floating-button.is-open{box-shadow:0 0 0 3px #fff3,0 18px 40px #f9731666}.ai-floating-button__icon{width:44px;height:44px;border-radius:999px;background:#ffffffd9;display:flex;align-items:center;justify-content:center;color:#c2410c}.ai-floating-button__label{font-size:.7rem}.ai-chat-bar{position:fixed;left:50%;bottom:14%;transform:translate(-50%);width:min(70vw,960px);padding:0 .5rem;z-index:580;pointer-events:none}.ai-chat-bar__pill{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#0b0c18e0;box-shadow:0 25px 60px #00000073,0 8px 18px #0000004d;pointer-events:auto}.ai-chat-bar input{flex:1;background:transparent;border:none;color:inherit;font-size:1rem}.ai-chat-bar input:focus{outline:none}.ai-chat-bar__icon,.ai-chat-bar__send{width:44px;height:44px;border-radius:999px;border:none;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;color:inherit;cursor:pointer;transition:transform .2s ease,background .2s ease}.ai-chat-bar__icon:hover,.ai-chat-bar__icon:focus-visible,.ai-chat-bar__send:hover,.ai-chat-bar__send:focus-visible{transform:translateY(-1px);background:#ffffff26}.ai-chat-bar__send{background:var(--accent);color:#050308}.ai-chat-bar__actions{display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.ai-chat-bar{width:calc(100% - 2.5rem);bottom:18%}.ai-floating-button{right:16px;bottom:16px}}.settings-modal{position:fixed;inset:0;z-index:650;display:flex;align-items:center;justify-content:center}.settings-modal__backdrop{position:absolute;inset:0;background:#1c1a1766;border:none;cursor:pointer}.settings-modal__card{position:relative;width:min(960px,calc(100% - 2.5rem));max-height:90vh;padding:1.8rem;border-radius:1.2rem;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);box-shadow:0 12px 48px #0000001f;display:flex;flex-direction:column;gap:1.2rem;overflow:auto}.settings-modal__close{position:absolute;top:1rem;right:1rem;width:34px;height:34px;border-radius:999px;border:none;background:#3869440f;color:#543c30;cursor:pointer}.settings-modal__close:hover,.settings-modal__close:focus-visible{background:#38694414;color:#386944}.settings-modal__profile{display:flex;align-items:center;gap:1rem}.settings-modal__avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#16653433,#16a34a40);display:grid;place-items:center;font-weight:700;letter-spacing:.05em;color:#386944}.settings-modal__name{margin:0;font-size:1.1rem;font-weight:600}.settings-modal__label{color:var(--muted);font-size:.85rem}.settings-modal__divider{height:1px;width:100%;background:#e5e7eb}.settings-modal__actions{display:flex;flex-direction:column;gap:.8rem}.settings-modal__action{width:100%;border-radius:.9rem;padding:.85rem 1rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#543c30;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.settings-modal__action:hover,.settings-modal__action:focus-visible{background:#38694414;border-color:#386944;color:#386944;transform:translateY(-1px)}.settings-modal__action--primary{background:#386944;color:#fff4d9;border-color:transparent}.settings-modal__action--primary:hover,.settings-modal__action--primary:focus-visible{background:#2d5537;color:#fff4d9}.inbox-panel{width:min(640px,calc(100% - 2rem))}.inbox-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.inbox-panel__title{display:flex;align-items:center;gap:.6rem}.inbox-panel__title h3{margin:0}.inbox-panel__count{color:var(--muted);font-size:.85rem;font-weight:600}.inbox-panel__list{display:flex;flex-direction:column;gap:.85rem}.inbox-panel__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:1rem;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.inbox-panel__item.is-read{opacity:.72}.inbox-panel__item-main{display:flex;flex-direction:column;gap:.25rem}.inbox-panel__item-main p{margin:0;color:var(--muted)}.inbox-panel__actions{display:flex;align-items:center;gap:.5rem}.courses-manager{display:flex;flex-direction:column;gap:1rem}.courses-manager__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.courses-manager__list{display:flex;flex-direction:column;gap:.6rem;max-height:40vh;overflow-y:auto}.courses-manager__item{border:1px solid var(--border);border-radius:1rem;padding:.8rem 1rem;display:flex;justify-content:space-between;gap:.8rem;background:#ffffff05}.courses-manager__info{display:flex;flex-direction:column;gap:.35rem}.courses-manager__meta{font-size:.9rem;color:var(--muted)}.courses-manager__info p{margin:0;color:var(--muted);font-size:.85rem}.courses-manager__item-actions{display:flex;align-items:center;gap:.45rem}.courses-manager__empty{color:var(--muted);font-size:.9rem}.courses-manager__form{display:flex;flex-direction:column;gap:.8rem}.courses-manager__form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.courses-manager__form input,.courses-manager__form textarea{border-radius:.9rem;border:1px solid var(--border);background:#ffffff05;color:inherit;padding:.6rem .7rem;font-size:.9rem}.courses-manager__form textarea{resize:vertical}.courses-manager__form-actions{display:flex;justify-content:flex-end;gap:.6rem}.calendar-event__handle--top{top:-5px}.calendar-event__handle--bottom{bottom:-5px}.calendar-event.is-dragging .calendar-event__handle{opacity:0}.calendar-tasks-collapsed__btn{width:100%;border:.5px solid rgba(56,105,68,.3);background:transparent;color:#386944;border-radius:.7rem;padding:.35rem .45rem;font-weight:500;font-family:DM Sans,sans-serif;cursor:pointer}.notebooks-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.notebooks-header__actions{display:flex;align-items:center;gap:.75rem}.notebooks-empty-panel{border:1px dashed var(--border);border-radius:1.2rem;padding:1.5rem;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:.8rem;align-items:center}.hub-divider{margin-top:1rem;margin-bottom:.5rem;padding:.8rem 1rem;border-radius:1rem;border:1px solid var(--border);background:#ffffff05;text-transform:uppercase;font-size:.85rem;letter-spacing:.1em;color:var(--muted)}.all-notes-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.all-notes-heading__actions{display:flex;gap:.6rem;flex-wrap:wrap}.notes-heading-button{border-radius:.95rem;border:.5px solid rgba(56,105,68,.3);background:transparent;color:#543c30;padding:.5rem 1.1rem;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.notes-heading-button:hover{border-color:#386944;color:#386944}.notes-heading-button--primary{background:#386944;border-color:transparent;color:#fff4d9}.notes-heading-button--primary:hover{background:#2d5537;color:#fff4d9}.notebooks-empty{border:1px dashed var(--border);border-radius:1.2rem;padding:1.5rem;text-align:center}.notebooks-empty h1{margin:.5rem 0}.compose-link{border:none;background:none;color:#8b2e2e;font-weight:600;cursor:pointer}.image-result__discard{padding:0}.compose-save{border-radius:.9rem;border:1px solid rgba(167,134,255,.5);background:linear-gradient(135deg,#a786ff,#6ac0ff);color:#050308;font-weight:600;padding:.5rem 1.2rem;cursor:pointer}.compose-editor{background:var(--surface);border-radius:1.5rem;border:1px solid var(--border);padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.compose-editor__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.compose-save-status{font-size:.75rem;color:var(--text-muted, #888);white-space:nowrap;flex-shrink:0}.compose-controls{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap}.compose-controls__primary{display:inline-flex;align-items:center;gap:.75rem}.compose-dropdown{position:relative}.compose-dropdown__current{display:inline-flex;align-items:center;gap:.45rem;background:#ffffff0d;border:1px solid var(--border);border-radius:.8rem;padding:.4rem .85rem;color:inherit;min-width:210px;cursor:pointer}.compose-dropdown__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#070511f2;border:1px solid var(--border);border-radius:.8rem;padding:.4rem;display:flex;flex-direction:column;gap:.2rem;z-index:5}.compose-dropdown__option{display:flex;align-items:center;gap:.4rem;padding:.45rem .6rem;border:none;background:transparent;color:inherit;border-radius:.6rem;cursor:pointer}.compose-dropdown__option:hover{background:#a786ff26}.compose-dropdown__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.compose-dropdown__current--static{display:inline-flex;align-items:center;gap:.45rem;background:#ffffff0d;border:1px solid var(--border);border-radius:.8rem;padding:.4rem .85rem}.compose-title{font-size:2rem}.note-menu{position:relative}.note-menu__trigger{border:1px solid var(--border);border-radius:.7rem;background:#ffffff08;color:inherit;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}.note-menu__dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:140px;background:#060411f2;border:1px solid var(--border);border-radius:.8rem;padding:.35rem;display:flex;flex-direction:column;gap:.2rem;z-index:10}.note-menu__dropdown button{border:none;background:transparent;color:inherit;text-align:left;padding:.45rem .6rem;border-radius:.6rem;cursor:pointer}.note-menu__dropdown button:hover{background:#a786ff2e}.trash-view{flex:1}.trash-empty{border:1px dashed var(--border);border-radius:1.2rem;padding:1.5rem;text-align:center}.trash-empty h1{margin:.5rem 0}.trash-list{display:flex;flex-direction:column;gap:.9rem}.trash-item{border:1px solid var(--border);border-radius:1rem;padding:.8rem 1rem;background:#ffffff05;display:flex;justify-content:space-between;gap:.8rem}.trash-item p{margin:0;font-weight:600}.trash-item span{display:block;color:var(--muted);font-size:.85rem;margin-top:.2rem}.trash-item__actions{display:flex;gap:.4rem;align-items:flex-start}.move-modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center}.move-modal__backdrop{position:fixed;inset:0;background:#05050cb3}.move-modal__card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:1.2rem;padding:1.5rem;width:min(90vw,360px);z-index:41;display:flex;flex-direction:column;gap:.8rem}.move-modal__list{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 1rem}.move-modal__item{border:1px solid var(--border);border-radius:.9rem;padding:.55rem .8rem;background:#ffffff05;color:inherit;display:flex;align-items:center;gap:.5rem;cursor:pointer}.move-modal__item:hover{border-color:#a786ffb3}.move-modal__dot{width:10px;height:10px;border-radius:50%}.picker-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center}.picker-modal__backdrop{position:fixed;inset:0;background:#05050ccc}.picker-modal__card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:1.2rem;padding:1.5rem;width:min(90vw,360px);z-index:71;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 25px 80px #00000059}.picker-modal__list{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 1rem}.picker-modal__item{border:1px solid var(--border);border-radius:.9rem;padding:.55rem .8rem;background:#ffffff05;color:inherit;display:flex;align-items:center;gap:.5rem;cursor:pointer}.picker-modal__item:hover{border-color:#a786ffb3}.picker-modal__dot{width:10px;height:10px;border-radius:50%}.image-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}.image-modal__backdrop{position:fixed;inset:0;background:#05050ccc}.image-modal__card{position:relative;background:#0d0d17fa;border:1px solid var(--border);border-radius:1.2rem;padding:1.6rem;width:min(92vw,520px);z-index:51;display:flex;flex-direction:column;gap:1rem;box-shadow:0 25px 80px #00000059}.image-modal__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.image-modal__header h3{margin:0}.image-modal__subtitle{margin:0;color:var(--muted)}.image-dropzone{border:1px dashed rgba(167,134,255,.4);border-radius:1rem;padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;align-items:center;justify-content:center;text-align:center;background:#ffffff04}.image-dropzone p{margin:0;color:var(--muted)}.image-dropzone__button{min-width:140px}.image-preview{display:flex;align-items:center;gap:.8rem;width:100%}.image-preview img{width:72px;height:72px;object-fit:cover;border-radius:.6rem;border:1px solid rgba(255,255,255,.08)}.image-preview p{margin:0;font-weight:600}.image-preview span{color:var(--muted);font-size:.85rem}.image-modal__actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.image-modal__loading{font-size:.9rem;color:var(--muted)}.image-result{display:flex;flex-direction:column;gap:.9rem}.image-result__content{background:#ffffff05;border:1px solid var(--border);border-radius:1rem;padding:1rem;max-height:45vh;overflow:auto}.image-result__text{margin:0;white-space:pre-wrap;font-family:DM Sans,sans-serif;color:#f5f4ff}.image-result__actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.4rem}.image-result__button{border-radius:999px;border:1px solid rgba(167,134,255,.35);background:#a786ff14;color:#f5f4ff;font-weight:600;padding:.45rem .9rem;cursor:pointer;transition:border .2s ease,background .2s ease,transform .1s ease}.image-result__button--primary{background:linear-gradient(135deg,#a786ffe6,#6ac0ffe6);color:#050308;border-color:#a786ffcc}.image-result__button:hover{border-color:#a786ffcc;background:#a786ff2e;transform:translateY(-1px)}.image-result__button--primary:hover{background:linear-gradient(135deg,#a786ff,#6ac0ff)}.image-result__placeholder{border:1px dashed var(--border);border-radius:1rem;padding:1rem;text-align:center;color:var(--muted);font-size:.95rem}.notebook-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center}.notebook-modal__backdrop{position:fixed;inset:0;background:#05050ccc}.notebook-modal__card{position:relative;background:#fff4d9;border:1px solid rgba(0,0,0,.08);border-radius:1.3rem;padding:1.5rem;width:min(92vw,460px);z-index:61;display:flex;flex-direction:column;gap:1.1rem;box-shadow:0 4px 24px #0000001a}.notebook-modal__header{display:flex;align-items:center;justify-content:space-between}.notebook-modal__header h3{margin:0}.notebook-modal__section{display:flex;flex-direction:column;gap:.4rem}.notebook-modal__section label,.notebook-modal__label{font-weight:600;font-size:.95rem}.notebook-modal__input,.notebook-modal__textarea{border-radius:.9rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#1c1a17;padding:.6rem .8rem;font-family:inherit;font-size:.95rem}.notebook-modal__textarea{resize:vertical;min-height:100px}.notebook-modal__error{color:#fb7185;font-size:.85rem;margin:0}.notebook-color-swatches{display:flex;flex-wrap:wrap;gap:.5rem}.notebook-color-swatch{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,border .2s ease}.notebook-color-swatch.is-active{border-color:#00000040;transform:scale(1.05)}.notebook-modal__label--inline{display:flex;align-items:center;gap:.35rem}.tooltip-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#0000000d;cursor:help}.tooltip-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tooltip-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#05050cf2;border:1px solid var(--border);border-radius:.6rem;padding:.5rem .75rem;font-size:.8rem;width:220px;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:2}.tooltip-trigger:hover .tooltip-bubble,.tooltip-trigger:focus .tooltip-bubble{opacity:1}.notebook-modal__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.notebook-modal__primary{border-radius:.9rem;border:none;background:#386944;color:#fff4d9;font-weight:600;padding:.6rem 1.4rem;cursor:pointer}.category-actions{position:relative;display:inline-flex;align-items:center;gap:.35rem}.category-button{border-radius:.95rem;border:1px solid rgba(167,134,255,.4);background:#a786ff1f;color:#f5f4ff;font-weight:600;padding:.45rem 1rem;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.category-button:disabled{opacity:.5;cursor:not-allowed}.category-button__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.category-arrow-btn{border-radius:.9rem;border:1px solid rgba(167,134,255,.3);background:#a786ff1a;color:#f5f4ff;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.category-arrow-btn:disabled{opacity:.5;cursor:not-allowed}.category-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:#060411f2;border:1px solid var(--border);border-radius:.9rem;padding:.4rem;display:flex;flex-direction:column;gap:.2rem;z-index:5}.category-dropdown__item{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:.7rem;cursor:pointer;color:inherit;background:transparent;border:none}.category-dropdown__item:hover{background:#a786ff2e}.category-dropdown__separator{height:1px;background:#ffffff14;margin:.2rem 0}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.75rem 1.2rem;border-radius:.9rem;background:#05060fe6;border:1px solid var(--border);color:#f5f4ff;z-index:45;font-weight:600}.floating-banner{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);width:min(680px,calc(100% - 2rem));padding:.85rem 1rem;border-radius:1rem;border:1px solid var(--border);color:#f5f4ff;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 18px 40px #00000059}.floating-banner--warning{background:#543004f5;border-color:#f59e0b66}.floating-banner--info{background:#0b1c36f5;border-color:#60a5fa66;cursor:pointer}.floating-banner>div:first-child,.floating-banner>span{display:flex;flex-direction:column;gap:.2rem;text-align:left}.floating-banner__actions{display:flex;align-items:center;gap:.5rem}.needs-doc-banner{position:fixed;right:28px;bottom:72px;width:min(360px,calc(100vw - 56px));padding:.9rem 1rem;border-radius:.85rem;background:#fff4d9;border:1px solid rgba(84,60,48,.18);box-shadow:0 10px 28px #1c1a1738;color:#1c1a17;font-family:Instrument Sans,system-ui,sans-serif;display:flex;flex-direction:column;gap:.65rem;z-index:55}.needs-doc-banner__main{display:flex;flex-direction:column;gap:.2rem}.needs-doc-banner__main strong{color:#386944;font-size:.92rem;font-weight:600}.needs-doc-banner__main span{color:#543c30;font-size:.85rem;line-height:1.35}.needs-doc-banner__actions{display:flex;align-items:center;gap:.45rem;justify-content:flex-end}.needs-doc-followup{position:fixed;right:28px;bottom:72px;max-width:360px;padding:.7rem .95rem;border-radius:.7rem;background:#fff4d9;border:1px solid rgba(84,60,48,.18);color:#543c30;font-family:Instrument Sans,system-ui,sans-serif;font-size:.85rem;box-shadow:0 8px 22px #1c1a172e;z-index:55}.serene-panel{position:fixed;bottom:20px;right:20px;width:340px;max-height:70vh;background:#070511eb;border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 40px #00000059;display:flex;flex-direction:column;z-index:50;overflow:hidden}.serene-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);font-weight:600}.serene-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:140px}.serene-bubble{max-width:92%;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.4}.serene-bubble--user{align-self:flex-end;background:#a786ff26;border:1px solid rgba(167,134,255,.35)}.serene-bubble--assistant{align-self:flex-start;background:#ffffff0a;border:1px solid var(--border)}.serene-bubble--thinking{font-style:italic;opacity:.8}.app-layout.serene-preview-open{gap:0}.app-layout.serene-preview-open .side-menu{display:none}.app-layout.serene-preview-open .app-view{overflow:hidden}.serene-preview-screen{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:hidden}.serene-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:.5px solid rgba(56,105,68,.3);background:#fff4d9}.serene-preview-title{font-weight:500;font-size:18px;color:#1c1a17}.serene-preview-actions{display:flex;gap:8px}.serene-preview-wizard{display:flex;flex-direction:column;gap:12px}.serene-preview-body{flex:1;min-height:0;display:flex}.serene-preview-content{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.serene-message-zone{min-height:44px;display:flex;align-items:center}.serene-message{width:100%;border-radius:12px;padding:10px 12px;font-size:.9rem;line-height:1.4;border:.5px solid rgba(56,105,68,.3);background:#fff4d9}.serene-message--success{border-color:#1665344d;background:#38694414;color:#386944}.serene-message--info{border-color:#e5e7eb;background:#fff4d9;color:#543c30}.serene-message--action_required{border-color:#16a34a80;background:#3869441a;color:#386944}.serene-message--retryable_error,.serene-message--blocking_error{border-color:#ef444480;background:#fef2f2;color:#b91c1c}.serene-analyzing{flex:1;min-height:40vh;display:flex;align-items:center;justify-content:center}.serene-analyzing__text{font-size:1.1rem;font-weight:600;letter-spacing:.02em;color:var(--text)}.serene-analyzing__dots{display:inline-block;width:1.5em;overflow:hidden;vertical-align:bottom;animation:sereneDots 1.2s steps(4,end) infinite}@keyframes sereneDots{0%{width:0}to{width:1.5em}}.serene-overlay{position:fixed;inset:0;background:#1c1a1780;display:flex;align-items:flex-end;justify-content:center;padding:24px;z-index:1000}.serene-modal{width:min(760px,100%);max-height:88vh;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:16px;box-shadow:0 12px 40px #0000001f;display:flex;flex-direction:column}.serene-body{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px;flex:1;overflow-y:auto}.serene-content{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;padding-right:6px}.serene-section{border:.5px solid rgba(56,105,68,.3);border-radius:12px;padding:10px;background:#fff4d9}.serene-section--condensed{padding:10px 12px}.serene-section--inset{margin-top:8px}.serene-section--scroll{max-height:480px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.serene-batch-item{background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;height:100%}.serene-batch-item .serene-section__actions{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.serene-batch-item__title{font-weight:600;color:#386944cc;font-size:11px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.07em}.serene-section__title{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#386944cc;margin-bottom:10px}.serene-section__hint{font-size:13px;color:#543c30;opacity:.7;margin:0}.serene-section__actions{display:flex;gap:8px;margin-top:12px}.serene-section__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.serene-header__actions{display:flex;gap:8px}.serene-bubble-toggle{position:fixed;right:18px;bottom:18px;padding:12px 14px;border-radius:14px;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);cursor:pointer;min-width:200px;box-shadow:0 4px 16px #00000014;z-index:900}.serene-bubble-toggle__title{font-weight:700;margin-bottom:4px}.serene-bubble-toggle__preview{font-size:13px;color:#543c30}.serene-input--wide input{flex:1}.serene-attachments{padding:0 12px;display:flex;flex-direction:column;gap:4px}.serene-attachments__label{font-size:12px;color:#543c30}.serene-attachments__chips{display:flex;flex-wrap:wrap;gap:6px}.serene-attachments__chip{display:inline-flex;align-items:center;gap:6px;background:#3869440f;border:.5px solid rgba(56,105,68,.3);border-radius:6px;padding:2px 8px;font-size:12px;color:#543c30}.serene-note{padding:0 12px;font-size:12px;color:#543c30}.serene-options{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.serene-preview-list{display:flex;flex-direction:column;gap:12px}.serene-preview-row{background:#fff;border:1.5px solid #e8dfd3;border-left:4px solid #386944;border-radius:14px;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #38694412;color:#1c1a17}.serene-preview-row__title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:#1c1a17}.serene-preview-row__pill{background:#e8f5e0;color:#386944;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:500}.serene-preview-row__pill--muted{background:#f3ede7;color:#7a6250}.serene-preview-row__pill--warning{background:#fef3c7;color:#92400e}.serene-preview-row__meta{display:flex;gap:12px;font-size:13px;color:#543c30;opacity:.75;flex-wrap:wrap;margin-top:4px}.serene-input{display:flex;align-items:center;gap:8px;padding:10px 12px 12px;border-top:.5px solid rgba(56,105,68,.2);background:#fff4d9}.serene-input input{flex:1;padding:10px 12px;border-radius:10px;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#1c1a17}.serene-input input:disabled{opacity:.6}.serene-input.serene-input--block{flex-direction:column;align-items:stretch;gap:12px;padding:2rem 2.5rem;border-top:none;border:1.5px solid rgba(56,105,68,.3);border-radius:18px;box-shadow:0 8px 32px #3869442e,0 2px 8px #3869441a;min-width:0}.serene-block-label{margin:0 0 4px;font-size:.9rem;font-weight:600;color:#1c1a17;line-height:1.4}.serene-input__field{background:#fffdf8;border:1.5px solid #e8dfd3;border-radius:10px;padding:10px 14px;color:#1c1a17;font-family:inherit;font-size:14px;width:100%;box-sizing:border-box}.serene-input__field:focus{outline:none;border-color:#386944;box-shadow:0 0 0 3px #3869441a;background:#fff}.serene-input__field:disabled{opacity:.5;cursor:not-allowed}.serene-days-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.serene-time-row{display:flex;align-items:center;justify-content:center;gap:8px}.serene-time-row label{flex:1;display:flex;flex-direction:column;gap:4px}.serene-error{color:#b91c1c;font-size:12px;margin:4px 12px 10px}@media(max-width:1200px){#root{padding:1.5rem}.workspace{grid-template-columns:1fr}.panel{min-height:auto}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff4d9;color:#1c1a17;padding:2rem}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 2px 40px #3869441a,0 1px 4px #3869440f}.auth-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.75rem;text-align:center}.auth-title{font-size:1.25rem;font-weight:700;margin:0}.auth-subtitle{font-family:Instrument Sans,sans-serif;color:#543c30bf;margin:0;font-size:14px}.serene-splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff4d9;gap:1.5rem}.serene-splash__wordmark{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:#386944;margin:0;letter-spacing:-.01em}.serene-splash__spinner{width:28px;height:28px;border-radius:50%;border:2.5px solid rgba(22,101,52,.18);border-top-color:#386944;animation:sereneSplashSpin .75s linear infinite}@keyframes sereneSplashSpin{to{transform:rotate(360deg)}}.serene-splash__error{font-size:.8125rem;color:#dc2626;max-width:360px;text-align:center;margin:0;line-height:1.5}.auth-tabs{display:flex;width:100%;background:#fff4d9;border-radius:10px;padding:4px;margin:0 0 1.25rem}.auth-tab{flex:1;border:none;background:transparent;color:#543c30a6;padding:.5rem 1rem;border-radius:7px;font-family:Instrument Sans,sans-serif;font-weight:500;font-size:14px;cursor:pointer;transition:background .15s,color .15s}.auth-tab.is-active{background:#386944;color:#fff4d9;border-radius:7px}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-field{display:flex;flex-direction:column;gap:.35rem}.auth-field>span{font-family:Instrument Sans,sans-serif;text-transform:uppercase;font-size:12px;font-weight:500;color:#543c30cc;letter-spacing:.5px}.auth-field input{background:#fffdf8;border:1.5px solid #e8dfd3;border-radius:10px;padding:.75rem 1rem;color:#1c1a17;font-family:Instrument Sans,sans-serif;font-size:14px}.auth-field input::placeholder{color:#b8a99a}.auth-field input:focus{outline:none;border-color:#386944;box-shadow:0 0 0 3px #3869441a;background:#fff}.ai-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;pointer-events:none}.ai-overlay__backdrop{position:absolute;inset:0;background:#1c1a1766;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-overlay__panel{position:relative;width:min(900px,92vw);max-height:80vh;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:1.25rem;padding:1rem 1rem .75rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 12px 48px #0000001f;pointer-events:all}.ai-overlay__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:.5px solid rgba(56,105,68,.2);padding-bottom:.5rem}.ai-overlay__title{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}.ai-overlay__body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.25rem .5rem}.ai-overlay__empty{color:#543c30;text-align:center;margin:auto}.ai-message{display:flex;width:100%}.ai-message--user{justify-content:flex-end}.ai-message--assistant{justify-content:flex-start}.ai-message__bubble{max-width:78%;padding:.75rem 1rem;border-radius:1rem;background:#3869440f;border:.5px solid rgba(56,105,68,.2);color:#1c1a17}.ai-message--user .ai-message__bubble{background:#386944;color:#fff4d9;border-color:transparent}.ai-overlay__input{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff4d9;border-radius:1rem;border:.5px solid rgba(56,105,68,.3)}.ai-overlay__input input{flex:1;background:transparent;border:none;color:#1c1a17;padding:.75rem .9rem}.ai-overlay__input input::placeholder{color:#543c30}.ai-overlay__send{border:none;background:#386944;color:#fff4d9;border-radius:.9rem;padding:.65rem .85rem;display:grid;place-items:center;cursor:pointer;transition:background .15s ease}.ai-overlay__send:hover{background:#2d5537}.ai-overlay__attach{border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#543c30;border-radius:.9rem;padding:.6rem .7rem;display:grid;place-items:center;transition:border-color .2s ease,background .2s ease,opacity .2s ease;cursor:pointer}.ai-overlay__attach:disabled{opacity:.6;cursor:not-allowed}.ai-overlay__attach:not(:disabled):hover{border-color:#386944;background:#38694414;color:#386944}.ai-overlay__spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.schedule-preview-card{margin-bottom:1rem}.schedule-preview__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.schedule-preview__header p{margin:0;font-weight:600}.schedule-preview__title{font-size:18px;font-weight:500;margin:0 0 .15rem;color:#1c1a17}.schedule-preview__semester-range{margin:0;font-size:13px;color:#543c30;opacity:.7}.schedule-preview__meta{margin:.1rem 0 0;font-size:13px;color:#543c30;opacity:.7}.schedule-preview__actions{display:flex;gap:.5rem;align-items:center}.ghost-btn--small,.primary-btn--small{padding:.45rem .75rem;font-size:.9rem;height:auto}.ghost-btn--danger{color:#8b2e2e;border-color:#8b2e2e}.ghost-btn--danger:hover{color:#7a2222;border-color:#7a2222;background:#8b2e2e14}.schedule-preview__list{display:flex;flex-direction:column;gap:12px}.schedule-preview__row{padding:1.25rem 1.5rem;border:1.5px solid #e8dfd3;border-left:4px solid #386944;border-radius:14px;background:#fff;box-shadow:0 2px 8px #38694412}.schedule-preview__row.is-editing{border-color:#16a34a80;border-left-color:#386944}.schedule-preview__row--overdue,.schedule-preview__row--overdue.is-editing{border-color:var(--color-walnut);border-left-color:var(--color-walnut)}.schedule-preview__subtask--overdue{border:1px solid var(--color-walnut);border-radius:6px;padding:3px 6px}.overdue-badge{display:inline-flex;align-items:center;flex-shrink:0;font-size:.7rem;font-weight:600;line-height:1;padding:.15rem .4rem;border-radius:var(--radius-full);background:var(--color-walnut);color:var(--color-ivory);letter-spacing:.02em}.schedule-preview__row-display{display:flex;flex-direction:column;gap:.25rem}.schedule-preview__row-title strong{display:flex;align-items:center;gap:.4rem;font-size:15px;font-weight:500;color:#1c1a17}.schedule-preview__row-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:13px;color:#543c30;opacity:.75}.schedule-preview__meeting-display{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:500;color:#386944;margin-top:2px}.schedule-preview__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.schedule-preview__grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.schedule-preview__grid input{padding:.45rem .5rem;border-radius:.5rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#1c1a17}.schedule-preview__grid textarea{padding:.45rem .5rem;border-radius:.5rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#1c1a17;resize:vertical}.schedule-preview__color-dot{width:12px;height:12px;border-radius:999px;display:inline-block;border:1px solid rgba(0,0,0,.15)}.schedule-preview__days{grid-column:1 / -1}.schedule-preview__day-options{display:flex;flex-wrap:wrap;gap:.35rem}.schedule-preview__day{padding:.35rem .5rem;border-radius:.5rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#543c30;font-size:.85rem;cursor:pointer}.schedule-preview__day.is-active{border-color:#16a34a99;background:#3869441a;color:#386944}.day-btn{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:.6rem;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#543c30;font-size:.85rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.day-btn:hover{border-color:#16a34a80;background:#38694414;color:#386944}.day-btn.is-selected{border-color:#386944;background:#3869441a;color:#386944;box-shadow:0 0 0 2px #16a34a2e}.day-btn:focus-visible{outline:2px solid rgba(22,163,74,.6);outline-offset:2px}.schedule-preview__validation{background:#fbbf241a;border-left:3px solid #fbbf24;padding:.75rem;margin:1rem 0;border-radius:4px;font-size:.875rem}.schedule-preview__empty{color:var(--text-secondary);font-size:.875rem}.schedule-preview__loading-hint{display:flex;justify-content:center;padding:24px 0}.schedule-preview__note{color:var(--text-secondary);font-size:.875rem}.schedule-preview__note--error{color:var(--signal-error)}.outline-preview-warning-banner{padding:12px 16px;border-radius:14px;background:#543c3014;color:#543c30;font-size:.875rem;font-weight:500}.field-badge{font-size:.75rem;color:var(--text-tertiary);font-weight:400;margin-left:.25rem}.field-badge--required{color:#fb923c;font-weight:600}.field-missing input,.field-missing textarea,.field-missing select{border-color:#ef4444!important;background:#ef44440d}.outline-validation-summary{background:#fbbf241a;border-left:3px solid #fbbf24;padding:.75rem;margin:1rem 0;border-radius:4px}.outline-validation-summary p{margin:0 0 .5rem;color:var(--text-primary)}.outline-validation-summary ul{margin:.5rem 0 0 1.25rem;padding:0;list-style-type:disc}.outline-validation-summary li{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0}.schedule-preview__edit-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.schedule-preview__edit-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.schedule-preview__card-actions{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px}.schedule-preview__edit-btn--inline{position:static;transform:none}.schedule-preview__edit-btn--delete{color:var(--text-tertiary);opacity:.7}.schedule-preview__edit-btn--delete:hover{color:#ef4444;background:#fef2f2;opacity:1}.schedule-preview__row-display{position:relative;padding-right:4.5rem}.field-missing-text{color:#ef4444!important;font-style:italic}.ai-overlay__status{margin:.4rem .6rem .8rem;font-size:.85rem;color:#543c30}.ai-overlay__status--error{color:#b91c1c}.tasks-modal__confirm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1c1a1740;border-radius:1rem}.tasks-modal__confirm-card{background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:.9rem;padding:1rem;width:min(360px,90vw);display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 32px #0000001a}.tasks-modal__confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem}.auth-error{color:#dc2626;margin:0;font-size:.9rem}.auth-submit{width:100%;margin-top:.25rem;padding:.85rem 1rem;border-radius:11px;border:none;background:#386944;color:#fff4d9;font-family:Instrument Sans,sans-serif;font-size:14.5px;font-weight:500;cursor:pointer;transition:background .15s}.auth-submit:hover:not(:disabled){background:#2e5538}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-helper{margin-top:.85rem;color:#543c308c;font-family:Instrument Sans,sans-serif;font-size:12px;text-align:center}.auth-link{background:none;border:none;padding:0;color:#386944;font-family:Instrument Sans,sans-serif;font-size:12px;text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:2px;margin-top:.5rem}.auth-link--forgot{align-self:flex-end;text-align:right}.auth-link:hover{color:#2e5538}.onboarding-fullscreen{position:fixed;inset:0;background:#fff4d9;color:#1c1a17;padding:48px;display:grid;grid-template-rows:auto 1fr;gap:32px;z-index:9999}.onboarding-hero{max-width:960px;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:16px;padding:32px;box-shadow:0 2px 12px #0000000f}.onboarding-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#543c30;margin-bottom:8px}.onboarding-hero h1{margin:0 0 12px;font-size:28px;font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:400;color:#386944}.onboarding-subtitle{margin:0 0 20px;color:#543c30;max-width:720px}.onboarding-actions{display:flex;gap:12px;align-items:center;margin-bottom:12px}.onboarding-error{color:#dc2626;margin-top:8px}.onboarding-note{color:#543c30;margin-top:4px}.onboarding-preview{background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:16px;padding:24px;overflow:auto}.onboarding-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.onboarding-preview-card{background:#fff;border:1.5px solid #e8dfd3;border-left:4px solid #386944;border-radius:14px;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #38694412}.onboarding-preview-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.onboarding-preview-card__header h3{margin:0;font-size:16px}.onboarding-preview-card__list{display:flex;flex-direction:column;gap:10px}.onboarding-preview-row{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;background:#3869440f}.onboarding-preview-title{margin:0 0 4px;font-size:15px;font-weight:500;color:#1c1a17}.onboarding-preview-meta{margin:0;color:#543c30;font-size:13px;opacity:.7}.onboarding-chip{align-self:center;border:.5px solid rgba(56,105,68,.3);padding:4px 8px;border-radius:999px;font-size:12px;color:#543c30}.onboarding-inline-field{display:flex;flex-direction:column;gap:4px}.onboarding-inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.onboarding-preview-actions{margin-top:16px;display:flex;flex-direction:column;gap:8px}.onboarding-sticky-actions{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;justify-content:flex-end;padding:12px 0;margin-top:16px;background:linear-gradient(180deg,#fff4d900,#fff4d9 35%);z-index:3}.onboarding-sticky-actions.onboarding-sticky-actions--left{justify-content:flex-start}.preferences-wizard{display:flex;align-items:center;justify-content:center;height:100%}.preferences-card{max-width:720px;width:100%;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:16px;padding:24px;box-shadow:0 6px 32px #3869442e}.preferences-card h3{margin-top:0;margin-bottom:16px}.preferences-card__counter{font-size:12px;font-weight:500;color:#543c30;margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em}.preferences-options{display:flex;flex-wrap:wrap;gap:10px}.chip-btn{border:1.5px solid #e8dfd3;background:#fff4d9;border-radius:999px;padding:10px 14px;color:#543c30;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:14px;transition:background .12s,border-color .12s,color .12s}.chip-btn.is-selected{background:#386944;border-color:#386944;color:#fff4d9}.chip-btn:hover:not(.is-selected){border-color:#386944;background:#38694414;color:#386944}.onboarding-checklist{display:flex;flex-direction:column;gap:8px;margin-top:12px;color:#f4f6fbe6}.pref-slider{position:relative;width:100%;padding:12px 0;-webkit-user-select:none;user-select:none;touch-action:none}.pref-slider__track{position:relative;height:6px;background:#543c3026;border-radius:3px}.pref-slider__fill{position:absolute;top:0;height:100%;background:#38694438;border-radius:3px}.pref-slider__fill--strong{background:#3869448c}.pref-slider__handle{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:#fff4d9;border:2px solid #386944;box-shadow:0 1px 6px #00000024;transform:translate(-50%,-50%);cursor:grab;transition:box-shadow .12s,transform .12s;z-index:2}.pref-slider__handle:active{cursor:grabbing;box-shadow:0 2px 10px #38694447;transform:translate(-50%,-50%) scale(1.12)}.pref-slider__handle:focus-visible{outline:2px solid #386944;outline-offset:3px}.pref-slider__axis{position:relative;display:flex;justify-content:space-between;margin-top:6px}.pref-slider__axis span{position:absolute;transform:translate(-50%);font-size:11px;color:#543c3099;white-space:nowrap}.wake-time-picker{width:100%}.wake-time-picker__times{position:relative;height:24px;margin-bottom:4px}.wake-time-picker__label{position:absolute;transform:translate(-50%);font-size:13px;font-weight:600;color:#386944;white-space:nowrap}.productive-hours-picker{width:100%}.productive-hours-picker__legend{display:flex;justify-content:space-between;font-size:11px;color:#543c308c;margin-top:8px}.productive-hours-picker__legend span:nth-child(2){font-style:italic}.session-style-picker{width:100%}.pref-option-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pref-option-card{background:#ffffff8c;border:1.5px solid #e8dfd3;border-radius:12px;padding:14px 12px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s}.pref-option-card.is-selected{border-color:#386944;background:#3869440f;box-shadow:0 0 0 2px #38694424}.pref-option-card:hover:not(.is-selected){border-color:#38694466;background:#fffc}.pref-option-card__title{font-size:13px;font-weight:600;color:#1c1a17;margin-top:10px;margin-bottom:4px}.pref-option-card__desc{font-size:12px;color:#543c30;line-height:1.45}.session-blocks{display:flex;align-items:center;gap:4px;height:20px;flex-wrap:wrap}.session-block{height:8px;background:#38694459;border-radius:2px;flex-shrink:0;transition:background .15s}.pref-option-card.is-selected .session-block{background:#386944}.pref-custom-session{margin-top:14px;display:flex;justify-content:center}.pref-custom-session__toggle{font-size:13px;opacity:.75}.pref-custom-session__toggle.is-active{color:#386944;opacity:1}.pref-custom-session__slider-wrap{width:100%}.pref-custom-session__value{text-align:center;font-size:18px;font-weight:600;color:#386944;margin-bottom:8px}.pref-custom-range{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:#543c3026;outline:none;cursor:pointer}.pref-custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff4d9;border:2px solid #386944;box-shadow:0 1px 6px #00000024;cursor:grab;transition:box-shadow .12s}.pref-custom-range::-webkit-slider-thumb:active{cursor:grabbing;box-shadow:0 2px 10px #38694447}.pref-custom-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff4d9;border:2px solid #386944;box-shadow:0 1px 6px #00000024;cursor:grab}.pref-custom-range::-moz-range-progress{background:#38694438;border-radius:3px}.pref-custom-session__bounds{display:flex;justify-content:space-between;font-size:11px;color:#543c308c;margin-top:6px}.lighter-days-picker{width:100%}.pref-day-circles{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pref-day-circle{width:50px;height:50px;border-radius:50%;border:1.5px solid #e8dfd3;background:#fff4d9;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#1c1a17;transition:background .15s,border-color .15s,opacity .15s,transform .15s;flex-shrink:0}.pref-day-circle.is-lighter{opacity:.45;transform:scale(.88);border-color:#386944;background:#38694414;color:#386944}.pref-day-circle:hover:not(.is-lighter){border-color:#38694466}.lighter-days-picker__footer{margin-top:16px;display:flex;justify-content:center}.lighter-days-picker__clear{font-size:13px}.lighter-days-picker__hint{font-size:12px;color:#543c3099;text-align:center;margin:0}.deadline-timeline{height:28px;position:relative;margin-bottom:2px}.deadline-timeline__track{position:relative;height:4px;background:#543c301f;border-radius:2px;top:12px}.deadline-timeline__block{position:absolute;top:-4px;width:6px;height:12px;background:#38694459;border-radius:2px;transform:translate(-50%);transition:background .15s}.pref-option-card.is-selected .deadline-timeline__block{background:#386944}.deadline-timeline__flag{position:absolute;right:0;top:-8px;width:2px;height:20px;background:#543c3066;border-radius:1px}.deadline-timeline__flag:after{content:"";position:absolute;top:0;left:2px;width:7px;height:5px;background:#543c3066;border-radius:0 1px 1px 0}.onboarding-schedule-scene{height:100vh;overflow:hidden;display:flex;flex-direction:column;gap:1.5rem;padding:2rem 3vw 2.5rem}.onboarding-schedule-header{display:flex;justify-content:flex-end}.onboarding-schedule-scene .onboarding-schedule-header,.onboarding-schedule-brand .brand-subtitle{display:none}.onboarding-bubble-row{display:flex;justify-content:flex-start;align-items:center;gap:1rem;flex-wrap:nowrap}.onboarding-bubble-list{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;overflow:hidden;flex:1 1 0;min-width:0}.onboarding-bubble{position:relative;display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;border-radius:999px;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);box-shadow:0 2px 8px #0000000f;flex:0 0 auto;min-width:0;overflow:hidden}.onboarding-bubble--confirmed{border-color:#386944;background:#38694414;flex:0 1 auto;min-width:fit-content}.onboarding-bubble__label{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem}.onboarding-bubble__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#3869440f;border:.5px solid rgba(56,105,68,.3)}.onboarding-bubble__actions{display:inline-flex;align-items:center;gap:.5rem}.onboarding-bubble__btn{border:.5px solid rgba(56,105,68,.3);border-radius:999px;background:#fff4d9;color:#543c30;padding:.3rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer}.onboarding-bubble__btn:hover{background:#3869440f}.onboarding-bubble__remove{position:absolute;top:-7px;right:-7px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#543c30;font-size:11px;line-height:1;cursor:pointer;padding:0;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.onboarding-bubble__remove:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.onboarding-bubble:hover .onboarding-bubble__remove{opacity:1}.onboarding-bubble__status{font-size:.75rem;color:var(--muted)}.onboarding-bubble__filename{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:clip;min-width:0}.onboarding-bubble__confirmed-dot{font-size:.75rem;color:var(--muted);white-space:nowrap}[data-density="2"] .onboarding-bubble__filename,[data-density="3"] .onboarding-bubble__filename,[data-density="3"] .onboarding-bubble__confirmed-dot,[data-density="3"] .onboarding-bubble--confirmed .onboarding-bubble__actions{display:none}[data-density="3"] .onboarding-bubble--confirmed,[data-density="4"] .onboarding-bubble--confirmed{border-color:#386944;background:#38694414}[data-density="4"] .onboarding-bubble__filename,[data-density="4"] .onboarding-bubble__confirmed-dot,[data-density="4"] .onboarding-bubble__label span:last-child{display:none}[data-density="4"] .onboarding-bubble--confirmed .onboarding-bubble__actions{display:none}[data-density="4"] .onboarding-bubble{flex:0 0 auto;padding:.5rem}[data-density="4"] .onboarding-bubble__label{gap:0}.onboarding-class-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}@media(max-width:800px){.onboarding-class-edit-grid{grid-template-columns:1fr}}.onboarding-bubble-chooser{position:relative;flex-shrink:0}.onboarding-bubble-chooser__toggle{width:44px;height:44px;border-radius:999px;border:.5px solid rgba(56,105,68,.3);background:#fff4d9;color:#543c30;display:grid;place-items:center;cursor:pointer}.onboarding-bubble-chooser__toggle:hover{background:#3869440f}.onboarding-bubble-chooser__menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:180px;padding:.5rem;border-radius:16px;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);box-shadow:0 4px 16px #00000014;display:grid;gap:.35rem;z-index:10}.onboarding-bubble-chooser__option{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:.9rem;color:#543c30}.onboarding-bubble-chooser__option:hover,.onboarding-bubble-chooser__option:focus{background:#38694414;color:#386944;outline:none}.onboarding-calendar-shell{flex:1;min-height:0;border-radius:24px;border:2px solid #a3a396;background:#fff4d9;overflow:hidden}.onboarding-calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;padding:.75rem 1rem;background:#fff4d9;border-bottom:2px solid #a3a396;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#543c30;position:sticky;top:0;z-index:2}.onboarding-calendar-header span{text-align:center}.onboarding-schedule-scene .calendar-header,.onboarding-schedule-scene .calendar-grid__header,.onboarding-schedule-scene .calendar-tasks-strip,.onboarding-schedule-scene .calendar-grid__day-date,.app-layout.onboarding-schedule-route .settings-trigger,.app-layout.onboarding-schedule-route .header-right{display:none}.app-layout.onboarding-schedule-route .app-header{width:fit-content;align-self:flex-start}.app-layout.onboarding-schedule-route .serene-bubble-toggle{display:none}@media(max-width:900px){.onboarding-schedule-scene{padding:1.5rem 1.2rem 2rem}.onboarding-schedule-header{justify-content:center}.onboarding-bubble-row{flex-direction:column;align-items:stretch}.onboarding-bubble-chooser{align-self:flex-start}}.schedule-preview__validation{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:.85rem}.validation-error{color:#ef4444;font-weight:500}.fill-later-checkbox{display:flex;align-items:center;gap:8px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.fill-later-checkbox input{accent-color:var(--accent);width:14px;height:14px}.schedule-preview__work-end{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.schedule-preview__label{font-size:.9rem;font-weight:500;color:var(--muted);margin:0 0 8px}.schedule-preview__inline-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.schedule-preview__date-input{background:#fffdf8;border:1.5px solid #e8dfd3;border-radius:10px;padding:10px 14px;color:#1c1a17;font-family:inherit;font-size:14px;outline:none}.schedule-preview__date-input:focus{border-color:#386944;box-shadow:0 0 0 3px #3869441a}.serene-footer-actions{display:flex;gap:8px;padding:12px 0 4px}.serene-footer-actions .primary-btn{background:#386944;color:#fff4d9;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit}.serene-footer-actions .primary-btn:hover{background:#2e5538}.schedule-preview__row-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.schedule-preview__row-actions .ghost-btn,.schedule-preview__row-actions .ghost-btn--small{border:1px solid #386944;color:#386944;border-radius:8px;padding:4px 12px;font-size:12px;background:transparent}.schedule-preview__row-actions .ghost-btn:hover,.schedule-preview__row-actions .ghost-btn--small:hover{background:#f0fdf4;border-color:#386944;color:#386944}.schedule-preview__row-actions .ghost-btn--icon{border-color:transparent;color:#543c30;opacity:.5;padding:4px;width:28px;height:28px}.schedule-preview__row-actions .ghost-btn--icon:hover{border-color:#fecaca;background:#fef2f2;color:#ef4444;opacity:1}.schedule-preview__days-row{display:flex;gap:4px}.schedule-preview__split-container{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.schedule-preview__column{flex:1;min-width:0;display:flex;flex-direction:column;gap:.75rem}.schedule-preview__column-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.15rem}.schedule-preview__section-title{margin:0 0 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#386944cc}.schedule-preview__section-subtitle{margin:2px 0 0;color:#543c30;font-size:13px;opacity:.7}.activity-preview__row .schedule-preview__row-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.35rem}.activity-preview__row.has-validation{border-color:#ef444459}.activity-preview__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.activity-preview__days .schedule-preview__day{min-width:42px;text-align:center}.activity-preview__meetings{display:flex;flex-direction:column;gap:10px;margin-top:4px}.activity-preview__meeting{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;background:#ffffff05}.activity-preview__meeting-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.activity-preview__pill{background:#e8f5e0;color:#386944;font-size:11px;font-weight:500;padding:3px 8px;border-radius:6px;border:none}.activity-preview__pill--muted{background:#f3ede7;color:#7a6250}.activity-edit-modal__card{width:min(640px,96vw)}.activity-edit-modal__header h3{margin:4px 0 0}.activity-edit-modal__title .eyebrow{margin:0;color:var(--text-secondary)}.activity-edit-modal__chips .chip-btn{padding:8px 12px;gap:6px}.activity-edit-modal__days{flex-wrap:wrap;gap:6px}.activity-edit-modal__input-with-icon{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:0 10px;background:#ffffff08}.activity-edit-modal__input-with-icon input{border:none;background:transparent;color:inherit;padding:10px 0}.activity-edit-modal__input-with-icon svg{color:var(--text-secondary)}.field-static-value{margin:0;font-size:.9rem;color:var(--text-secondary);padding:6px 0}.task-view{display:flex;flex-direction:row;gap:16px;padding:16px 1.5rem;overflow-x:auto;height:100%;align-items:flex-start}.task-view--grouped{flex-direction:column;overflow-x:hidden;overflow-y:auto;gap:0;padding:16px 1.5rem}.task-view__row{display:flex;flex-direction:row;gap:16px;padding:0;overflow-x:auto;align-items:flex-start}.task-view__overdue-section{margin-top:24px;display:flex;flex-direction:column;gap:10px}.task-view__overdue-header{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#999;padding:0}.task-view__empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:.9rem}.task-view__upcoming-section{margin-top:24px;display:flex;flex-direction:column;gap:10px}.task-view__upcoming-header{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#999}.task-view__upcoming-list{display:flex;flex-direction:column;gap:8px}.task-view__upcoming-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#f9fafb;border:1px solid #eee;border-radius:10px}.task-view__upcoming-card-left{display:flex;flex-direction:column;gap:2px;min-width:0}.task-view__upcoming-title{font-size:.9rem;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-view__upcoming-course{font-size:.75rem;color:#888}.task-view__upcoming-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.task-view__upcoming-date{font-size:.8rem;color:#555;white-space:nowrap}.task-view__upcoming-days{color:#aaa}.task-view__upcoming-pill{font-size:.72rem;font-weight:500;color:#3d6b4f;background:#e8f5ee;border-radius:20px;padding:3px 10px;white-space:nowrap}.task-view__inclass-list{display:flex;flex-direction:column;gap:6px}.task-view__inclass-card{display:flex;flex-direction:column;gap:3px;padding:10px 14px;background:#fff4d9;border:1px solid rgba(0,0,0,.08);border-left-width:3px;border-radius:10px;box-shadow:0 2px 8px #0000000f}.task-view__inclass-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.task-view__inclass-title{font-size:.875rem;font-weight:600;color:#1c1a17;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-view__inclass-date{font-size:.75rem;color:#666;white-space:nowrap;flex-shrink:0}.task-view__inclass-course{font-size:.75rem;color:#666}.task-view__inclass-prep-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-view__inclass-prep{font-size:.78rem;color:#666}.task-view__no-date-notice{font-size:.75rem;color:#888;cursor:pointer;margin-top:4px;text-decoration:underline dotted}.task-view__no-date-notice:hover{color:#166534}.task-view__column{display:flex;flex-direction:column;min-width:260px;max-width:290px;flex-shrink:0;border-top:4px solid transparent;border-radius:12px;background:#fff4d9;border:1px solid rgba(0,0,0,.08);border-top-width:4px;padding:20px;gap:0;box-shadow:0 2px 8px #0000000f}.task-view__col-header{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.task-view__col-title{font-weight:600;font-size:.9375rem;color:#1c1a17}.task-view__col-course,.task-view__col-due{font-size:.8125rem;color:#666}.task-view__missing-nudge{font-size:.75rem;color:#fbbf24;margin-bottom:8px}.task-view__needs-instructions-btn{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:500;padding:3px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);cursor:pointer;background:#0000000a;color:#888;transition:background .2s ease-in-out;margin-bottom:8px}.task-view__needs-instructions-btn:hover{background:#00000012}.task-view__progress-bar-wrap{position:relative;height:6px;background:#0000000f;border-radius:999px;margin-bottom:4px;overflow:hidden}.task-view__progress-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;transition:width .3s ease}.task-view__progress-label{display:block;font-size:.8125rem;color:#666;margin-bottom:10px}.task-view__task-row{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06)}.task-view__task-row:last-of-type{border-bottom:none}.task-view__task-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.task-view__task-name{font-size:.85rem;font-weight:500;color:#1c1a17;flex:1;min-width:0}.task-view__task-name--done{text-decoration:line-through;color:#999}.task-view__task-hours{font-size:.72rem;color:#888;white-space:nowrap}.task-view__task-bar-wrap{height:3px;background:#0000000f;border-radius:999px;overflow:hidden}.task-view__task-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.task-view__task-controls{display:flex;align-items:center;gap:10px;margin-top:2px}.task-view__task-pct{font-size:.75rem;color:#666;flex-shrink:0;min-width:34px;text-align:right}.progress-slider{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:7px;border-radius:999px;background:#fff4d9;cursor:pointer;outline:none}.progress-slider:disabled{cursor:default;opacity:.5}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#543c30;border:none;cursor:pointer}.progress-slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#543c30;border:none;cursor:pointer}.progress-slider:focus-visible{box-shadow:0 0 0 2px #38694459}.task-view__task-delete-btn{display:flex;align-items:center;justify-content:center;padding:2px;margin-left:4px;border:none;background:transparent;color:#543c30;cursor:pointer;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.task-view__task-row:hover .task-view__task-delete-btn{opacity:1}.task-view__task-delete-btn:hover{color:#ef4444}.task-view__task-done-btn{font-size:.72rem;padding:2px 8px;border-radius:6px;border:.5px solid rgba(56,105,68,.4);background:transparent;color:#386944;cursor:pointer;flex-shrink:0}.task-view__task-done-btn:hover{background:#1665340f}.task-view__task-done-btn--complete{opacity:.5}.task-view__session-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.task-view__chip{font-size:.7rem;border-radius:999px;padding:2px 8px}.task-view__chip--done{background:#0000000a;color:#999}.task-view__completed-state{font-size:.82rem;font-weight:600;color:#386944;text-align:center;margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.task-view__add-task-btn{width:100%;margin-top:10px;padding:6px 0;background:none;border:1px dashed rgba(0,0,0,.15);border-radius:6px;color:#386944;font-size:.78rem;cursor:pointer;text-align:center}.task-view__add-task-btn:hover{border-color:#386944;color:#386944}.task-view__add-task-form{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.task-view__add-task-name{width:100%;padding:5px 7px;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:6px;color:#1c1a17;font-size:.82rem;box-sizing:border-box}.task-view__add-task-name:focus{outline:none;border-color:#386944}.task-view__add-task-hours{width:5rem;padding:5px 7px;background:#fff4d9;border:.5px solid rgba(56,105,68,.3);border-radius:6px;color:#1c1a17;font-size:.82rem}.task-view__add-task-hours:focus{outline:none;border-color:#386944}.task-view__add-task-error{font-size:.75rem;color:#dc2626}.task-view__add-task-actions{display:flex;gap:6px}.task-view__add-task-confirm{padding:4px 12px;background:#386944;border:none;border-radius:6px;color:#fff4d9;font-size:.78rem;cursor:pointer}.task-view__add-task-confirm:hover:not(:disabled){background:#15803d}.task-view__add-task-confirm:disabled{opacity:.5;cursor:not-allowed}.task-view__add-task-cancel{padding:4px 10px;background:none;border:none;color:#888;font-size:.78rem;cursor:pointer}.task-view__add-task-cancel:hover:not(:disabled){color:#555}.task-view__instructions-banner{display:flex;align-items:center;gap:8px;font-size:.8125rem;padding:6px 0;margin-bottom:6px}.task-view__instructions-banner--info{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px}.task-view__instructions-banner-cta{background:none;border:none;padding:0;font-size:.8125rem;color:#386944;cursor:pointer;text-decoration:underline;text-decoration-color:#16653466;text-underline-offset:2px}.task-view__instructions-banner-dismiss{background:none;border:none;padding:0 2px;font-size:.72rem;color:#bbb;cursor:pointer;margin-left:auto}.task-view__quality-pill-wrap{position:relative;display:inline-flex;align-items:center}.task-view__quality-pill{background:none;border-radius:4px;padding:1px 6px;font-size:.7rem;font-weight:500;cursor:pointer;line-height:1.5;letter-spacing:.01em}.task-view__quality-tooltip{position:absolute;top:calc(100% + 4px);left:0;z-index:20;background:#1e293b;color:#f8fafc;font-size:.75rem;line-height:1.45;border-radius:6px;padding:7px 10px;width:220px;display:flex;align-items:flex-start;gap:6px;box-shadow:0 4px 12px #0000002e}.task-view__quality-tooltip-close{background:none;border:none;color:#94a3b8;font-size:.7rem;cursor:pointer;padding:0;margin-left:auto;flex-shrink:0}.task-view__weekly-studying{margin-top:2rem}.task-view__weekly-cards{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}.task-view__weekly-card{background:#fff;border:1px solid var(--border, #e5e7eb);border-left:4px solid;border-radius:8px;padding:1rem 1.25rem;min-width:280px;max-width:380px;flex:1 1 300px}.task-view__weekly-card-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.task-view__weekly-card-code{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--muted, #6b7280);text-transform:uppercase}.task-view__weekly-card-name{font-size:.85rem;font-weight:600;color:#1a1a1a}.task-view__weekly-week{margin-bottom:.75rem}.task-view__weekly-week-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.task-view__weekly-week-label{font-size:.78rem;font-weight:600;color:#374151}.task-view__weekly-week-hours{font-size:.72rem;color:var(--muted, #6b7280)}.task-view__weekly-task-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.task-view__weekly-task-check{flex-shrink:0;width:15px;height:15px;accent-color:var(--accent, #2d6a4f);cursor:pointer}.task-view__weekly-task-meta{margin-left:auto;font-size:.7rem;color:var(--muted, #6b7280);white-space:nowrap;flex-shrink:0}input,select,textarea,input[type=date],input[type=time],input[type=datetime-local]{background:#fff4d9;border:1px solid rgba(56,105,68,.35);border-radius:6px;color:#1c1a17;font-family:DM Sans,sans-serif;font-size:.9rem;padding:.45rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;outline:none}input::placeholder,textarea::placeholder{color:#543c3080}input:focus,select:focus,textarea:focus,input[type=date]:focus,input[type=time]:focus,input[type=datetime-local]:focus{border-color:#386944;box-shadow:0 0 0 3px #3869441a}label{font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;color:#543c30;letter-spacing:.04em}.weekly-studying-section{margin-top:32px;padding:0 4px}.weekly-studying-section__heading{font-family:Instrument Sans,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #888);margin:0 0 12px}.weekly-studying-section__cards{display:flex;flex-wrap:wrap;gap:16px}.weekly-course-card{background:#38694408;border:1px dashed rgba(56,105,68,.2);border-radius:10px;padding:14px 16px;min-width:260px;max-width:340px;flex:1 1 260px}.weekly-course-card__header{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.weekly-course-card__code{font-family:Instrument Sans,sans-serif;font-size:.78rem;font-weight:700;color:#386944;letter-spacing:.04em}.weekly-course-card__name{font-family:Instrument Sans,sans-serif;font-size:.82rem;color:#543c30;font-weight:500}.weekly-week-entry{margin-bottom:14px}.weekly-week-entry:last-child{margin-bottom:0}.weekly-week-entry__header{display:flex;align-items:center;gap:8px;margin-bottom:5px}.weekly-week-entry__label{font-size:.8rem;font-weight:600;color:#3d3228;flex:1}.weekly-week-entry__hours{font-size:.72rem;color:#888}.weekly-week-entry__pct{font-size:.72rem;color:#888;min-width:28px;text-align:right}.weekly-week-entry__bar-wrap{height:3px;background:#3869441a;border-radius:2px;margin-bottom:8px;overflow:hidden}.weekly-week-entry__bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.weekly-item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.weekly-item-row{display:flex;flex-direction:column;align-items:stretch;gap:4px}.weekly-item-row__top{display:flex;align-items:center;gap:8px}.weekly-item-row__controls{display:flex;align-items:center;gap:10px}.weekly-item-row.is-done .weekly-item-row__label{text-decoration:line-through;color:#aaa}.weekly-item-row__label{font-size:.8rem;color:#3d3228;flex:1;line-height:1.3}.weekly-item-row__hours{font-size:.7rem;color:#aaa;flex-shrink:0}.serenity-topbar{position:fixed;top:0;left:0;right:0;height:64px;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff4d9;border-bottom:.5px solid rgba(56,105,68,.2)}.serenity-wordmark{font-family:Playfair Display,Georgia,serif;font-size:36px;font-style:italic;font-weight:400;color:#386944;line-height:1}.serenity-topbar .brand-button{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.serenity-topbar__actions{display:flex;align-items:center;gap:4px}.serenity-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:#543c30;cursor:pointer;border-radius:6px;transition:color .15s ease;position:relative}.serenity-icon-btn:hover{color:#386944}.serenity-topbar__badge{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#16a34a}.serenity-sidebar{display:none}.serenity-main{flex:1;margin-left:0;padding-top:64px;display:flex;flex-direction:column;min-height:0;height:100%;background:#fff4d9}@keyframes viewFadeIn{0%{opacity:0}to{opacity:1}}.app-view>*{animation:viewFadeIn .15s ease}.dashboard-greeting{font-family:Playfair Display,Georgia,serif;font-size:26px;font-style:italic;font-weight:400;color:#1c1a17;margin:0 0 12px;text-align:center}.dashboard-slogan{font-family:DM Sans,sans-serif;font-size:13px;font-weight:400;color:#543c30;letter-spacing:.08em;text-align:center;margin:0 0 20px}.dashboard-divider{display:block;margin:0 auto 32px}.dashboard-minimal{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem}.dashboard-minimal__center{display:flex;flex-direction:column;align-items:center}.dashboard-minimal__cta-group{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.dashboard-minimal__cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:140px;padding:28px 24px;background:#fff;border:.5px solid rgba(56,105,68,.4);border-radius:16px;cursor:pointer;color:#386944;box-shadow:0 1px 3px #0000000f;transition:border-color .25s ease-out,background .25s ease-out,color .25s ease-out,transform .3s ease-out,box-shadow .3s ease-out;position:relative}.dashboard-minimal__cta span{font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;color:#543c30;transition:color .2s ease-in-out}.dashboard-minimal__cta:hover{border-color:#386944;background:#fff4d9;color:#386944;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.dashboard-minimal__cta:hover span{color:#543c30}.dashboard-minimal__actions{position:absolute;left:1.5rem;bottom:1.5rem}.dashboard-minimal__actions .header-icon-btn{background:transparent;border:none;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;transition:color .2s ease-in-out}.dashboard-minimal__actions .header-icon-btn:hover{color:#386944}.serene-loading-overlay{min-height:360px;width:100%;display:flex;align-items:center;justify-content:center;border-radius:12px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.serene-loading-overlay__content{display:flex;flex-direction:column;align-items:center;justify-content:center}.serene-loading-overlay__dots{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px}.serene-loading-overlay__dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--accent);opacity:.2}.serene-loading-overlay__text{margin:var(--space-6) 0 0 0;font-family:var(--font-serif);font-size:clamp(var(--text-lg),2.5vw,var(--text-xl));color:var(--accent-deep);letter-spacing:var(--tracking-tight);font-weight:500;text-align:center}.serene-loading-overlay__hint{margin:var(--space-2) 0 0 0;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);opacity:.7;text-align:center}
