:root{--cream:#fff9f3;--ivory:#faf0e5;--gold:#a7773f;--champ:#d5a36b;--pink:#eac9c8;--brown:#6f402a;--line:#ddc39b;--shadow:0 12px 36px #8f562b20}*{box-sizing:border-box}body{margin:0;color:#50301e;background:#f8e9dc url('/marble.jpg') center/cover fixed;font:15px/1.5 Georgia,'Times New Roman',serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1{font-size:clamp(30px,4vw,60px)}h2{font-size:clamp(21px,2vw,30px)}h3{font-size:21px}.muted{color:#997e66}.small{font-size:12px}.loader{min-height:100vh;display:grid;place-content:center;font-size:30px;color:var(--gold)}.royal{border:1.5px solid var(--champ);background:linear-gradient(140deg,#fffaf5f2,#fff3e7ee);border-radius:26px;box-shadow:inset 0 0 0 5px #ffffff90,var(--shadow);position:relative}.royal:before,.royal:after{content:'❧';position:absolute;color:#b88b50;font-size:25px;opacity:.9;pointer-events:none}.royal:before{left:13px;top:3px}.royal:after{right:13px;bottom:2px;transform:rotate(180deg)}.btn{border:1px solid #b78346;color:#653a1e;border-radius:999px;padding:10px 19px;background:linear-gradient(#fffaf2,#f5e2cd);box-shadow:0 3px 9px #7d4c2518;min-height:42px}.btn:hover{filter:brightness(.97)}.btn.primary{background:linear-gradient(135deg,#e8c78b,#b77c37 55%,#e9c48d);color:#fff;border-color:#9c692d;font-weight:bold}.btn.tiny{padding:4px 10px;min-height:31px}.input,textarea,select{border:1px solid #d6b993;background:#fffaf6;border-radius:12px;padding:10px 13px;color:#5d3e2a;outline-color:#b58b58;min-width:0;width:100%}textarea{resize:vertical;min-height:92px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px;position:relative;overflow:hidden}.login-screen:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#fff4e9b0,transparent 65%)}.flower{position:absolute;width:clamp(170px,25vw,380px);pointer-events:none;filter:drop-shadow(0 10px 10px #a15b3d30)}.flower.one{bottom:-45px;left:-45px}.flower.two{top:-90px;right:-55px;transform:rotate(180deg)}.login-frame{width:min(830px,100%);min-height:610px;padding:90px 65px 55px;text-align:center;border:double 9px #c49657;border-radius:48% 48% 33% 33%/24% 24% 26% 26%;background:radial-gradient(#fff8ef,#f8e6d6);box-shadow:0 0 0 7px #fff4e7bb,0 0 0 11px #c59d6a,0 30px 90px #7b402a55;position:relative}.login-frame:before{content:'♛';position:absolute;top:-50px;left:calc(50% - 46px);font-size:95px;color:#c28a3e;text-shadow:0 3px #fff,0 5px 10px #8c572960}.login-frame:after{content:'❦ ──────── ♡ ──────── ❦';position:absolute;bottom:22px;left:0;right:0;color:#bc914f}.login-frame h1{margin:0 auto 8px;max-width:590px;line-height:1.08;color:#916028}.login-frame h1 em{font-size:1.18em;font-weight:normal}.login-form{width:min(460px,100%);margin:46px auto 0;display:grid;gap:14px}.login-form .input{border-radius:50px;font-size:19px;padding:16px 25px;background:#fffbf6db}.login-form .btn{font-size:23px;padding:12px}.login-error{color:#b33432;min-height:1.5em}.pw-wrap{position:relative}.pw-wrap .input{padding-right:58px}.eye{position:absolute;right:12px;top:9px;border:0;background:none;font-size:24px;color:#a87846}.app-layout{display:grid;grid-template-columns:245px minmax(0,1fr) 280px;gap:18px;max-width:1800px;margin:auto;min-height:100vh;padding:22px}.sidebar{padding:25px 13px;min-height:86vh}.avatar-ring{width:155px;height:155px;margin:7px auto 30px;display:grid;place-items:center;border:double 6px #c2924f;border-radius:50%;background:#fff4e3;color:#a57734;font-size:70px;overflow:hidden}.avatar-ring img{width:100%;height:100%;object-fit:cover}.nav{display:grid;gap:8px}.nav button{border:0;background:transparent;border-radius:28px;text-align:left;padding:13px 15px;color:#5c3d25;font-size:17px}.nav button.active{background:linear-gradient(110deg,#fae5d8,#eac7c7);border:1px solid #d5ad80}.nav button span{font-size:24px;color:#b28744;margin-right:10px}.brand-footer{margin:40px 10px;text-align:center;color:#a87b46}.center{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:92px;padding:0 12px}.topbar h1{margin:0;font-size:clamp(24px,3vw,44px);color:#8b592d}.topbar-actions{display:flex;gap:8px}.round{border:1px solid #d2af7d;border-radius:50%;background:#fff7ed;width:44px;height:44px;font-size:22px;color:#9d703a}.main-section{padding:18px 20px;margin-bottom:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}.month-pager{display:flex;align-items:center;gap:10px}.month-pager strong{min-width:165px;text-align:center;font-size:22px}.legend{font-size:12px;display:flex;gap:10px;flex-wrap:wrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #e8d3bc;border-radius:16px;overflow:hidden}.weekday{font-size:13px;text-align:center;padding:9px 0;color:#7a5436;border-bottom:1px solid #dfc9af;font-weight:bold}.weekday:last-of-type{color:#ba4343}.day{position:relative;min-height:109px;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:6px;background:#fffbf6d4;border:0;border-right:1px solid #e9d8c7;border-bottom:1px solid #e9d8c7;text-align:left;color:#50301e}.day:hover{background:#f9ecd9}.day.blank{background:#f6e9de55;pointer-events:none}.day.mercury{border-top:3px solid #c84442}.day.corridor{background:#f2e8f6}.day.today{outline:2px solid #b98b44;outline-offset:-3px}.day-head{display:flex;justify-content:space-between;gap:2px;font-weight:bold}.day-head i{font-style:normal;font-weight:normal;font-size:13px}.day-head b{font-size:15px}.day .status{text-align:center;margin:auto 0;font-size:12px;font-weight:bold;line-height:1.2}.day .events{font-size:15px;min-height:19px;text-align:center;color:#aa743e}.stars{letter-spacing:0;font-size:17px;color:#c99745;text-align:center;white-space:nowrap}.placeholder{font-size:11px;text-align:center;color:#aa9079;margin:auto 0}.right-panel{padding:26px 14px;align-self:start;margin-top:105px}.right-panel h2{text-align:center;line-height:1.1;font-size:26px}.right-panel>p{text-align:center;font-size:12px}.metric{min-height:150px;margin:13px 0;padding:14px;display:flex;align-items:center;justify-content:space-around;gap:5px}.metric-label{width:105px;text-align:center;font-size:18px;line-height:1.14}.ring{display:grid;place-items:center;width:110px;height:110px;border-radius:50%;background:conic-gradient(#cc9370 0 65%,#f2d8c9 65% 100%);position:relative;flex-shrink:0}.ring:before{content:'';background:#fff7ed;border-radius:50%;position:absolute;inset:12px}.ring strong{z-index:1;font-size:31px}.ring.ochre{background:conic-gradient(#c18b42 0 65%,#f1dcc0 65% 100%)}.ring.rose{background:conic-gradient(#cc7771 0 65%,#f2cfcd 65% 100%)}.feedback-title{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.feedback-title h2{margin:0}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:9px}.tracker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.counter{border:1px solid #e0c9a9;border-radius:15px;background:#fff9f0;padding:12px;text-align:center}.counter-title{font-size:16px;min-height:42px}.counter-controls{display:flex;align-items:center;justify-content:center;gap:4px}.counter-controls .input{width:68px;text-align:center;padding:7px 3px}.counter-controls .btn{padding:4px 10px;min-height:34px}.tracker-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px;justify-content:space-between}.tracker-bottom strong{font-size:21px;color:#976434}.empty-view{text-align:center;padding:70px 25px}.empty-view .icon{font-size:65px;color:#b98b4c}.modal-cover{position:fixed;inset:0;background:#36201599;display:flex;align-items:center;justify-content:center;z-index:50;padding:15px}.modal{max-height:90vh;overflow:auto;width:min(700px,100%);padding:28px}.modal.wide{width:min(980px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:grid;gap:10px}.field{display:grid;gap:4px}.field label{font-size:13px;color:#8b6a4a}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 20px}.admin-tab.active{background:#ddba85}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:9px 7px;border-bottom:1px solid #e9d6c2;text-align:left;font-size:14px}th{color:#956e49}.alert{padding:11px 14px;border:1px solid #e4bc82;border-radius:10px;background:#fff5e5;margin-bottom:14px}.banner{background:#f8efe0;border:1px solid #d9b78c;border-radius:12px;padding:11px 14px;margin-bottom:14px}.file-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.file-label input{display:none}#toast{position:fixed;bottom:24px;right:20px;z-index:99;background:#5b402c;color:white;padding:11px 17px;border-radius:14px;box-shadow:var(--shadow);display:none;max-width:350px}.mobile-menu{display:none}.mini-badge{font-size:11px;border:1px solid #dabd99;border-radius:14px;padding:2px 7px;color:#8c673d}@media(max-width:1200px){.app-layout{grid-template-columns:200px minmax(0,1fr)}.right-panel{grid-column:2;margin-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.right-panel h2,.right-panel>p{grid-column:1/-1}.metric{margin:0;min-height:125px}.metric-label{font-size:14px}.ring{width:76px;height:76px}.ring strong{font-size:23px}.ring:before{inset:9px}.sidebar{min-height:0}}@media(max-width:720px){.app-layout{display:block;padding:9px}.sidebar{display:none;min-height:auto;margin-bottom:10px}.sidebar.open{display:block}.sidebar .avatar-ring{width:95px;height:95px;font-size:40px;margin-bottom:10px}.mobile-menu{display:inline-block}.topbar{min-height:76px}.topbar h1{font-size:24px}.topbar-actions .round{width:36px;height:36px}.main-section{padding:13px 9px}.section-title{justify-content:center}.legend{justify-content:center}.weekday{font-size:10px}.day{min-height:80px;padding:3px 1px}.day-head b{font-size:12px}.day-head i{font-size:10px}.day .status{font-size:9px;word-break:break-word}.day .events{font-size:11px;min-height:12px}.stars{font-size:11px}.placeholder{font-size:9px}.right-panel{display:block;margin-top:13px;padding:15px}.metric{margin:9px}.tracker-grid{grid-template-columns:1fr}.counter-title{min-height:0}.login-frame{padding:84px 23px 55px;min-height:550px;border-radius:42% 42% 20% 20%/15% 15% 17% 17%}.login-frame h1{font-size:35px}.login-form{margin-top:30px}.login-form .input{font-size:16px}.flower{width:190px}.two-col,.three-col{grid-template-columns:1fr}.modal{padding:18px}.right-panel .metric{min-height:100px}}
