:root{--ink:#40283f;--muted:#7b6b78;--line:#eadde6;--page:#fffdfd;--paper:#fff;--plum:#8c1d5a;--green:#a9c64a;--pink:#d94b76;--orange:#e58a2f;--blue:#3287bd;--purple:#96508f;--teal:#2a9a93;--rose:#d65b73;--shadow:0 18px 60px #5a365621;--spring:cubic-bezier(.2, .85, .3, 1.18);--smooth:cubic-bezier(.22, 1, .36, 1);--quick:.16s;--flow:.34s}*{box-sizing:border-box}html{min-height:100%}body{min-height:100%;color:var(--ink);letter-spacing:0;background:linear-gradient(110deg,#a9c64a0f,#0000 28%,#e58a2f0f 58%,#0000 82%) 0 0/180% 180%,radial-gradient(circle at 4% 10%,#d94b761f,#0000 9rem),radial-gradient(circle at 96% 82%,#3287bd1f,#0000 9rem),snow;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;outline:none}input,select{min-height:38px;padding:0 10px}textarea{resize:vertical;padding:10px}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3287bd1f}.auth-page{place-items:center;min-height:100vh;padding:28px;display:grid;position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";z-index:0;opacity:.28;pointer-events:none;width:210px;height:210px;animation:schoolPatternDrift 10s var(--smooth) infinite alternate;background-color:#0000;background-image:linear-gradient(90deg,#0000 46%,#8c1d5a47 47% 53%,#0000 54%),linear-gradient(#0000 46%,#2a9a9347 47% 53%,#0000 54%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.auth-page:before{top:36px;left:28px;transform:rotate(-12deg)}.auth-page:after{animation-delay:-6s;bottom:28px;right:24px;transform:rotate(9deg)}.auth-card{z-index:1;border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);animation:cardArrive .44s var(--spring) both;background:#fffffff2;border-radius:8px;padding:34px;position:relative;transform:translateZ(0)}.auth-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#0000 0 30%,#ffffffb8 42%,#0000 54% 100%);animation:4.2s ease-in-out .6s infinite paperShine;position:absolute;inset:0;transform:translate(-120%)}.auth-brand,.topbar-brand{color:var(--plum);align-items:center;gap:10px;font-weight:800;display:inline-flex}.brand-mark{border:2px solid #8c1d5a24;border-radius:50%;place-items:center;width:54px;height:54px;animation:5.2s ease-in-out infinite brandBreathe;display:inline-grid;position:relative}.brand-mark.mini{width:32px;height:32px}.brand-mark span{border-radius:999px;width:9px;height:9px;position:absolute}.brand-mark span:first-child{background:var(--green);animation:3.8s ease-in-out infinite beadDance;transform:translate(-8px,-11px)}.brand-mark span:nth-child(2){background:var(--pink);animation:4.1s ease-in-out -.7s infinite beadDance;transform:translate(9px,-8px)}.brand-mark span:nth-child(3){background:var(--blue);animation:3.6s ease-in-out -1.1s infinite beadDance;transform:translate(-13px,7px)}.brand-mark span:nth-child(4){background:var(--orange);animation:4.4s ease-in-out -1.8s infinite beadDance;transform:translate(12px,9px)}.brand-mark span:nth-child(5){background:var(--teal);width:16px;height:16px;animation:3.4s ease-in-out infinite centerBeat}.auth-card h1{color:var(--plum);text-align:center;margin:24px 0 8px;font-size:clamp(2rem,7vw,3rem);line-height:.95}.auth-subtitle{color:var(--muted);text-align:center;margin:0 0 28px;font-size:1.1rem}.login-form,.admin-form{gap:16px;display:grid}.login-form label,.admin-form label,.filter-group label{color:var(--muted);gap:7px;font-size:.88rem;font-weight:700;display:grid}.input-shell{border:1px solid var(--line);min-height:42px;transition:border-color var(--quick) ease, box-shadow var(--quick) ease, transform var(--quick) ease;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.input-shell:focus-within{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 10px 26px #3287bd1f}.input-shell input{min-height:auto;box-shadow:none;border:0;padding:0}.form-error,.planner-message{color:#8e2946;background:#d94b7614;border:1px solid #d94b7642;border-radius:8px;margin:0;padding:10px 12px;font-weight:700}.primary-button,.secondary-button,.icon-button,.micro-button{transition:transform var(--quick) var(--spring), box-shadow var(--quick) ease, background var(--quick) ease, color var(--quick) ease;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.primary-button{background:var(--plum);color:#fff;min-height:44px;padding:0 18px;position:relative;overflow:hidden;box-shadow:0 10px 24px #8c1d5a38}.primary-button:after{content:"";background:linear-gradient(115deg,#0000 0 28%,#ffffff47 46%,#0000 62% 100%);position:absolute;inset:0;transform:translate(-120%)}.primary-button:hover:after{animation:.9s buttonShine}.secondary-button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;padding:0 14px}.secondary-button.full{width:100%}.icon-button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:#fff}.icon-button.compact{width:32px;min-width:32px;height:32px}.micro-button{width:24px;min-width:24px;height:24px;color:var(--muted);background:#ffffffd6;border:1px solid #40283f14}.micro-button.danger{color:#a8324d}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.micro-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #40283f1f}.icon-button:hover svg,.secondary-button:hover svg,.primary-button:hover svg{animation:iconWiggle .55s var(--spring)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:topbarDrop .34s var(--smooth) both;background:#ffffffeb;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 22px;display:grid;position:sticky;top:0}.topbar-nav{justify-content:center;gap:8px;display:flex}.topbar-nav a{min-height:38px;color:var(--muted);transition:background var(--quick) ease, color var(--quick) ease, transform var(--quick) var(--spring);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.topbar-nav a.active,.topbar-nav a:hover{color:var(--ink);background:#a9c64a2e;transform:translateY(-1px)}.topbar-user{align-items:center;gap:10px;display:flex}.topbar-user span{text-align:right;gap:1px;font-weight:800;display:grid}.topbar-user small{color:var(--muted);font-size:.72rem}.dashboard-page,.admin-page,.planner-page{padding:28px}.dashboard-hero{border:1px solid var(--line);min-height:210px;box-shadow:var(--shadow);animation:panelRise .38s var(--smooth) both;background:linear-gradient(90deg,#fffffff0,#ffffffc7),repeating-linear-gradient(135deg,#a9c64a33 0 16px,#3287bd29 16px 32px);border-radius:8px;align-items:center;padding:36px;display:flex;position:relative;overflow:hidden}.dashboard-hero:after{content:"";background:linear-gradient(90deg, var(--green) 0 20%, var(--pink) 20% 38%, var(--orange) 38% 55%, var(--blue) 55% 74%, var(--teal) 74% 100%);opacity:.16;border-radius:8px;width:180px;height:42px;animation:4s ease-in-out infinite tapeFloat;position:absolute;inset:auto 24px 18px auto;transform:rotate(-3deg)}.dashboard-hero p{color:var(--muted);margin:0 0 8px;font-size:1.2rem;font-weight:800}.dashboard-hero h1{max-width:720px;color:var(--plum);margin:0;font-size:clamp(2.5rem,7vw,5rem);line-height:.95}.dashboard-hero span{color:var(--teal);margin-top:12px;font-size:1.15rem;font-weight:900;display:inline-block}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px;display:grid}.dashboard-card,.admin-form,.users-table-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff2;border-radius:8px}.dashboard-card{min-height:160px;transition:transform .18s var(--spring), box-shadow .18s ease, border-color .18s ease;animation:panelRise .38s var(--smooth) both;align-content:center;gap:10px;padding:24px;display:grid;transform:translateZ(0)}.dashboard-card:nth-child(2){animation-delay:80ms}.dashboard-card:hover{border-color:#3287bd5c;transform:translateY(-5px)rotate(-.25deg);box-shadow:0 24px 70px #5a36562e}.dashboard-card svg{color:var(--blue)}.dashboard-card h2,.users-table-card h2{margin:0;font-size:1.3rem}.dashboard-card p{color:var(--muted);margin:0}.planner-toolbar{animation:panelRise .32s var(--smooth) both;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.filter-group,.toolbar-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.filter-group label{min-width:130px}.planner-message{width:fit-content;max-width:100%;margin-bottom:14px}.loading-state{border:1px dashed var(--line);min-height:260px;color:var(--muted);animation:panelRise .3s var(--smooth) both;background:#fffc;border-radius:8px;justify-content:center;align-items:center;gap:10px;font-weight:900;display:flex}.loading-state svg{animation:1s linear infinite spin}.planner-sheet{border:1px solid var(--line);background:var(--paper);width:100%;min-width:1280px;box-shadow:var(--shadow);animation:sheetUnfold .46s var(--spring) both;border-radius:8px;padding:22px;position:relative;overflow:hidden;transform:translateZ(0)}.planner-sheet:before{content:"";background:linear-gradient(90deg, var(--green), var(--pink), var(--orange), var(--blue), var(--purple), var(--teal), var(--rose));opacity:.16;border-radius:8px;height:8px;animation:5.5s ease-in-out infinite alternate colorRibbon;position:absolute;top:10px;left:20px;right:20px}.planner-sheet:after{content:"";pointer-events:none;opacity:.13;background:linear-gradient(45deg, transparent 0 46%, var(--pink) 46% 54%, transparent 54% 100%), linear-gradient(-45deg, transparent 0 46%, var(--blue) 46% 54%, transparent 54% 100%);background-size:22px 22px;width:120px;height:120px;animation:7s ease-in-out infinite alternate schoolPatternDrift;position:absolute;bottom:15px;right:18px;transform:rotate(8deg)}.planner-heading{grid-template-columns:290px 1fr 210px;align-items:center;gap:20px;margin-bottom:16px;display:grid}.month-line{grid-template-columns:auto 1fr;align-items:end;gap:8px;display:grid}.month-line span{color:var(--plum);font-size:2.15rem;font-style:italic;font-weight:900}.month-line input{box-shadow:none;color:var(--plum);transition:letter-spacing var(--quick) ease;border-width:0 0 2px;border-radius:0;font-size:1.5rem;font-weight:800}.month-line input:focus{letter-spacing:.02em}.title-block{text-align:center}.title-block h1{color:var(--plum);text-shadow:0 8px 22px #8c1d5a17;animation:titlePop .42s var(--spring) 40ms both;margin:0;font-size:clamp(2.5rem,5vw,4.2rem);line-height:.9}.title-block p{color:#789938;margin:8px 0 2px;font-size:1.6rem;font-weight:800;animation:5.6s ease-in-out infinite softSway}.title-block small{color:var(--muted);font-weight:800}.planner-logo{color:var(--plum);text-transform:uppercase;animation:panelRise .36s var(--smooth) 80ms both;justify-items:center;gap:6px;font-size:.95rem;font-weight:900;display:grid}.logo-tree{transform-origin:bottom;width:92px;height:70px;animation:5.4s ease-in-out infinite treeSway;position:relative}.logo-tree b{background:#7aa237;border-radius:999px;width:10px;height:42px;position:absolute;bottom:8px;left:41px}.logo-tree:after{content:"";background:#9cbb43;border-radius:50%;width:58px;height:10px;position:absolute;bottom:4px;left:18px}.logo-tree i{border-radius:50%;width:14px;height:14px;position:absolute}.logo-tree i:first-child{background:var(--green);animation:2.8s ease-in-out infinite leafBob;top:14px;left:25px}.logo-tree i:nth-child(2){background:var(--pink);animation:3.1s ease-in-out -.6s infinite leafBob;top:4px;left:42px}.logo-tree i:nth-child(3){background:var(--blue);animation:2.9s ease-in-out -1.1s infinite leafBob;top:17px;left:58px}.logo-tree i:nth-child(4){background:var(--orange);animation:3.3s ease-in-out -1.6s infinite leafBob;top:31px;left:31px}.logo-tree i:nth-child(5){background:var(--teal);animation:2.7s ease-in-out -2s infinite leafBob;top:34px;left:52px}.planner-content{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.calendar-board{min-width:0}.calendar-header-row{grid-template-columns:repeat(7,minmax(120px,1fr));gap:5px;margin-bottom:5px;display:grid}.day-heading{color:#fff;text-transform:uppercase;border-radius:8px 8px 0 0;place-items:center;min-height:38px;font-weight:900;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -10px 18px #00000014}.day-heading:after{content:"";background:linear-gradient(105deg,#0000 0 32%,#ffffff59 45%,#0000 58% 100%);animation:4.2s ease-in-out infinite headerSweep;position:absolute;inset:0;transform:translate(-110%)}.calendar-grid{grid-template-columns:repeat(7,minmax(120px,1fr));grid-auto-rows:minmax(126px,auto);gap:5px;display:grid}.calendar-cell{border:1px solid var(--day-border);background:linear-gradient(180deg, #fff, var(--day-soft));min-height:126px;transition:transform .16s var(--spring), box-shadow .16s ease, background .16s ease;grid-template-rows:1fr auto;padding:10px 8px 8px;display:grid;position:relative;transform:translateZ(0)}.calendar-cell:hover{z-index:1;transform:translateY(-3px);box-shadow:0 14px 28px #40283f1a}.day-monday{--day:var(--green);--day-soft:#fbfdec;--day-border:#d7e6a4;background-color:var(--day)}.day-tuesday{--day:var(--pink);--day-soft:#fff0f4;--day-border:#efb7c8;background-color:var(--day)}.day-wednesday{--day:var(--orange);--day-soft:#fff6ea;--day-border:#f2cfaa;background-color:var(--day)}.day-thursday{--day:var(--blue);--day-soft:#edf7ff;--day-border:#acd1e8;background-color:var(--day)}.day-friday{--day:var(--purple);--day-soft:#fbf0fb;--day-border:#ddb9dc;background-color:var(--day)}.day-saturday{--day:var(--teal);--day-soft:#eefafa;--day-border:#a7d9d5;background-color:var(--day)}.day-sunday{--day:var(--rose);--day-soft:#fff1f3;--day-border:#efb9c3;background-color:var(--day)}.week-chip{width:28px;height:28px;color:var(--muted);background:#ffffffc7;border-radius:7px;place-items:center;font-size:.72rem;font-weight:900;animation:4.4s ease-in-out infinite chipPulse;display:grid;position:absolute;top:8px;left:8px}.calendar-items{align-content:start;gap:5px;padding-top:32px;display:grid}.calendar-item,.side-list-row,.objective-row{min-height:30px;animation:itemArrive .2s var(--spring) both;transition:transform .14s var(--spring), background .14s ease, box-shadow .14s ease;background:#ffffffe0;border:1px solid #40283f14;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:4px 5px;display:grid;transform:translateZ(0)}.calendar-item:hover,.side-list-row:hover,.objective-row:hover{background:#fff;transform:translate(2px);box-shadow:0 8px 16px #40283f14}.calendar-item span,.side-list-row span,.objective-row span{overflow-wrap:anywhere;min-width:0;font-size:.82rem;font-weight:750}.calendar-item.done span,.side-list-row.done span,.objective-row.done span{color:var(--muted);text-decoration:line-through}.calendar-item.done,.side-list-row.done,.objective-row.done{animation:donePulse .42s var(--spring)}.round-check{width:20px;min-width:20px;height:20px;color:var(--plum);transition:transform .14s var(--spring), background .14s ease, border-color .14s ease;background:#fff;border:1.8px solid #8c1d5a75;border-radius:50%;place-items:center;padding:0;display:grid}.round-check:hover{border-color:var(--plum);transform:scale(1.12)}.done .round-check{border-color:var(--green);animation:checkPop .32s var(--spring);background:#a9c64a38}.cell-add{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:8px;display:grid}.cell-add textarea{min-height:42px;max-height:74px;padding:8px;font-size:.8rem;transition:box-shadow .14s}.cell-add textarea:focus{box-shadow:0 8px 18px #3287bd1a}.side-panel{gap:14px;display:grid}.side-card{border:1px solid var(--line);animation:sideCardIn .34s var(--smooth) both;transition:transform .16s var(--spring), box-shadow .16s ease;background:#fff;border-radius:8px;position:relative;overflow:hidden;transform:translateZ(0)}.side-card:nth-child(2){animation-delay:40ms}.side-card:nth-child(3){animation-delay:80ms}.side-card:nth-child(4){animation-delay:.12s}.side-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #40283f1f}.side-card h2{color:#fff;text-transform:uppercase;place-items:center;min-height:36px;margin:0;font-size:1rem;display:grid;position:relative}.side-card h2:after{content:"";background:linear-gradient(100deg,#0000 0 35%,#ffffff52 50%,#0000 65% 100%);animation:4.6s ease-in-out infinite headerSweep;position:absolute;inset:0;transform:translate(-120%)}.weeks-card h2{background:var(--green)}.pending-card h2{background:var(--pink)}.notes-card h2{background:var(--blue)}.data-card h2{background:var(--purple)}.side-list{gap:6px;min-height:86px;padding:12px;display:grid}.inline-add{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:10px;display:grid}.notes-card textarea{min-height:132px;box-shadow:none;border:0;border-radius:0}.data-card{display:grid}.data-card label{color:var(--purple);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px 0;display:grid}.data-card input{box-shadow:none;border-width:0 0 1px;border-radius:0}.data-card .secondary-button{margin:12px}.objectives-panel{animation:panelRise .38s var(--smooth) .1s both;background:#fff;border:2px solid #8c1d5ab8;border-radius:8px;margin-top:14px;padding:16px;position:relative}.objectives-panel:before,.objectives-panel:after{content:"";opacity:.7;border-top:3px solid #a9c64ae6;border-bottom:3px solid #e58a2f8c;width:36px;height:14px;position:absolute;top:18px}.objectives-panel:before{animation:3.8s ease-in-out infinite markerFlick;left:calc(50% - 118px);transform:rotate(18deg)}.objectives-panel:after{animation:3.8s ease-in-out -1.2s infinite markerFlick;right:calc(50% - 118px);transform:rotate(-18deg)}.objectives-panel h2{width:fit-content;color:var(--plum);letter-spacing:0;margin:-6px auto 12px;font-size:1.55rem}.objectives-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;display:grid}.objective-add{gap:10px;margin-top:14px;display:flex}.objective-add input{flex:1}.admin-layout{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.admin-form,.users-table-card{padding:22px}.section-title{align-items:center;gap:10px;display:flex}.section-title h1{margin:0;font-size:1.5rem}.users-table{gap:8px;margin-top:16px;display:grid}.users-table-head,.users-table-row{border-radius:8px;grid-template-columns:1fr 1.4fr 110px;align-items:center;gap:12px;min-height:42px;padding:0 12px;display:grid}.users-table-head{color:var(--muted);text-transform:uppercase;background:#a9c64a2e;font-size:.82rem;font-weight:900}.users-table-row{border:1px solid var(--line);transition:transform .14s var(--spring), box-shadow .14s ease;background:#fff}.users-table-row:hover{transform:translate(3px);box-shadow:0 10px 22px #40283f14}.users-table-row span{overflow-wrap:anywhere;min-width:0}@keyframes cardArrive{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panelRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes topbarDrop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUnfold{0%{opacity:0;transform-origin:top;transform:translateY(18px)scaleY(.985)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes paperShine{0%,62%{transform:translate(-120%)}78%,to{transform:translate(120%)}}@keyframes buttonShine{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes headerSweep{0%,72%{transform:translate(-120%)}88%,to{transform:translate(120%)}}@keyframes colorRibbon{0%{filter:saturate();transform:translate(-10px)}to{filter:saturate(1.3);transform:translate(10px)}}@keyframes schoolPatternDrift{0%{background-position:0 0,0 0}to{background-position:24px 18px,-18px 24px}}@keyframes brandBreathe{0%,to{transform:scale(1);box-shadow:0 0 #8c1d5a00}50%{transform:scale(1.035);box-shadow:0 10px 24px #8c1d5a1c}}@keyframes beadDance{0%,to{margin:0}50%{margin-top:-3px;margin-left:2px}}@keyframes centerBeat{0%,to{transform:scale(1)}45%{transform:scale(1.14)}}@keyframes iconWiggle{0%,to{transform:rotate(0)}30%{transform:rotate(-10deg)}70%{transform:rotate(8deg)}}@keyframes tapeFloat{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-5px)rotate(2deg)}}@keyframes titlePop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes softSway{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes treeSway{0%,to{transform:rotate(0)}50%{transform:rotate(2deg)}}@keyframes leafBob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.08)}}@keyframes chipPulse{0%,to{box-shadow:0 0 #a9c64a00}50%{box-shadow:0 0 0 4px #a9c64a1c}}@keyframes itemArrive{0%{opacity:0;transform:translateY(5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes donePulse{0%{transform:scale(1)}45%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes checkPop{0%{transform:scale(.72)}to{transform:scale(1)}}@keyframes sideCardIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes markerFlick{0%,to{opacity:.45}50%{opacity:.85}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width:1100px){.topbar{grid-template-columns:1fr;position:static}.topbar-nav{justify-content:flex-start;overflow-x:auto}.topbar-user{justify-content:space-between}.planner-page{overflow-x:auto}.admin-layout{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-page,.admin-page,.planner-page{padding:16px}.auth-card{padding:24px}.dashboard-hero{min-height:180px;padding:24px}.planner-toolbar,.filter-group,.toolbar-actions,.objective-add{flex-direction:column;align-items:stretch}.filter-group label{min-width:100%}.users-table-head,.users-table-row{grid-template-columns:1fr;padding:10px 12px}}@media print{@page{size:A4 landscape;margin:7mm}*,:before,:after{transition:none!important;animation:none!important}body{background:#fff}.no-print,.topbar,.cell-add,.inline-add,.objective-add,.micro-button{display:none!important}.planner-page{padding:0;overflow:visible}.planner-sheet{width:100%;min-width:0;box-shadow:none;border:0;border-radius:0;padding:0}.planner-heading{grid-template-columns:230px 1fr 170px;gap:10px;margin-bottom:8px}.title-block h1{font-size:2.6rem}.title-block p{font-size:1.1rem}.planner-content{grid-template-columns:1fr 230px;gap:8px}.calendar-header-row,.calendar-grid{gap:2px}.calendar-grid{grid-auto-rows:minmax(88px,auto)}.calendar-cell{min-height:88px;padding:6px}.calendar-items{padding-top:24px}.side-panel{gap:6px}.side-list{min-height:58px;padding:7px}.notes-card textarea{min-height:68px}.objectives-panel{margin-top:8px;padding:8px}}
