:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;--bg:#080c09;--panel:#111813;--panel2:#172119;--stroke:#29372c;--lime:#c3ff35;--lime2:#b0ef2b;--text:#f1f7ed;--muted:#98a89a;--red:#ff687d;--yellow:#ffcf74}
*{box-sizing:border-box}html{height:100%}body{margin:0;background:radial-gradient(ellipse 70% 50% at 75% -20%,#24331766,transparent 80%),var(--bg);color:var(--text);min-height:100%;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--lime)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:2px}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,38px);letter-spacing:-1.2px;margin-bottom:6px}h2{font-size:19px;letter-spacing:-.35px;margin-bottom:15px}h3{font-size:15px;margin-bottom:10px}.muted,p{color:var(--muted);line-height:1.5}.start-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column}.start-screen h1{font-size:34px}.start-screen h1 span{color:var(--lime)}.brand-symbol{background:var(--lime);color:#111;font-size:46px;font-weight:900;width:76px;height:76px;border-radius:22px;display:grid;place-items:center;margin-bottom:18px}.app{display:flex;min-height:100dvh}.side{width:250px;flex-shrink:0;border-right:1px solid var(--stroke);background:#0c120e;position:sticky;top:0;height:100dvh;padding:30px 16px;display:flex;flex-direction:column}.logo{font-size:22px;font-weight:950;letter-spacing:-1px;margin:0 12px 36px;color:#fff}.logo span{color:var(--lime)}.sublabel{font-size:10px;letter-spacing:2px;color:#779072;font-weight:800;margin:0 12px 14px}.nav{display:flex;align-items:center;gap:11px;width:100%;border:1px solid transparent;color:#a2b2a3;background:transparent;padding:13px;border-radius:11px;font-weight:700;text-align:left;margin:3px 0}.nav.active{border-color:#c3ff3550;background:#c3ff3518;color:var(--lime)}.nav svg,.bottom svg{width:19px;height:19px}.nav:hover{background:#1a261b}.side-foot{margin-top:auto;font-size:11px;line-height:1.5;color:var(--muted);border-top:1px solid var(--stroke);padding:18px 8px}.shell{flex:1;min-width:0;max-width:1500px;margin:0 auto;padding:34px 38px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}.kicker{color:#9fbc8d;font-size:10px;font-weight:850;letter-spacing:2.4px;margin-bottom:9px}.small{font-size:12px}.top-actions{display:flex;gap:10px;align-items:center}.status{display:flex;align-items:center;gap:7px;background:#142016;border:1px solid var(--stroke);color:#bacbbb;border-radius:99px;padding:9px 11px;font-size:12px;white-space:nowrap}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime)}.status.bad:before{background:var(--red)}.btn{background:var(--lime);color:#131a09;border:1px solid var(--lime);padding:11px 15px;border-radius:10px;font-weight:850;min-height:42px;white-space:nowrap}.btn:hover{filter:brightness(1.09)}.btn.secondary{background:#223025;color:var(--text);border-color:#314535}.btn.danger{background:#3b1c22;border-color:#6f3641;color:#ffd3da}.btn.ghost{background:transparent;color:#b9c9b7;border-color:var(--stroke)}.btn.sm{min-height:35px;padding:7px 10px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.card{background:linear-gradient(145deg,#141d16,#101713);border:1px solid var(--stroke);border-radius:16px;padding:21px;min-width:0}.metric-label{text-transform:uppercase;letter-spacing:.6px;font-size:11px;color:#9aac99;font-weight:700}.metric{font-size:clamp(21px,2.5vw,30px);letter-spacing:-1px;font-weight:850;margin:12px 0 7px;font-variant-numeric:tabular-nums}.positive{color:var(--lime)}.negative{color:var(--red)}.hint{color:var(--muted);font-size:12px}.cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px}.cols.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.section{margin-top:16px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.chip{border:1px solid #40513d;border-radius:50px;background:#1b291d;font-size:11px;color:var(--lime);padding:7px 10px;font-weight:750}.rule{border-bottom:1px solid #2b382d;padding:11px 0;display:flex;justify-content:space-between;gap:15px;font-size:13px}.rule:last-child{border-bottom:none}.rule strong{text-align:right}.chart-wrap{width:100%;overflow:hidden}.curve{display:block;width:100%;height:auto;max-height:290px;margin:24px 0 10px}.bar-grid{display:flex;align-items:end;justify-content:space-around;gap:7px;height:154px;padding-top:16px;border-bottom:1px solid var(--stroke)}.bar-col{display:flex;align-items:center;justify-content:end;flex-direction:column;height:100%;flex:1;gap:5px;min-width:0}.bar{border-radius:5px 5px 0 0;min-height:2px;width:75%;max-width:26px;background:var(--lime)}.bar-col small{font-size:10px;color:var(--muted);position:relative;top:18px;white-space:nowrap}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.month-title{text-transform:capitalize;margin:0}.cal-nav{display:flex;gap:5px}.week,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week{margin-bottom:7px}.week span{text-align:center;color:var(--muted);font-size:11px;font-weight:800}.day{background:#1a261c;color:var(--text);border:1px solid #2c3d2f;min-height:91px;border-radius:10px;padding:9px 6px;text-align:left;display:flex;flex-direction:column;gap:6px;overflow:hidden}.day.today{border-color:#799653}.day.selected{outline:2px solid var(--lime)}.day.win{background:#1c2e19}.day.loss{background:#302024}.day.blank{visibility:hidden}.day b{font-size:12px}.day strong{font-size:12px;white-space:nowrap}.day small{font-size:10px;color:#a6b6a6;white-space:nowrap}.entry-list{display:grid;gap:9px}.entry{padding:12px 13px;background:#1a251b;border:1px solid #293b2d;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:13px}.entry .title{font-weight:800;font-size:13px}.entry .sub{color:var(--muted);font-size:11px;margin-top:6px}.empty{text-align:center;border:1px dashed #415341;border-radius:12px;padding:27px 12px;color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:500px}th,td{padding:13px 8px;text-align:left;border-bottom:1px solid var(--stroke);font-size:12px}th{color:var(--muted);font-weight:700}td:last-child{text-align:right}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.filters>*{flex:1}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.span{grid-column:1/-1}.field label{color:#d4e6cf;font-size:12px;font-weight:800}input,textarea,select{border:1px solid #344c35;background:#0c150e;color:#fff;border-radius:10px;min-width:0;padding:12px;width:100%}textarea{min-height:96px;resize:vertical}input::placeholder,textarea::placeholder{color:#6e846f}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check{display:flex;align-items:center;gap:8px;border:1px solid #2d402e;border-radius:9px;background:#18251a;padding:12px;color:#d9e8d4;font-size:12px}.check input{width:17px;accent-color:var(--lime)}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.photo{border:1px dashed #50634c;background:#101b12;border-radius:12px;padding:11px;min-height:150px;display:flex;flex-direction:column;gap:9px;justify-content:center;align-items:center;text-align:center}.photo img{max-width:100%;width:100%;height:105px;object-fit:contain;border-radius:6px}.photo .label{font-size:11px;color:var(--muted)}.photo input{font-size:10px;padding:5px}.photo .btn{font-size:11px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gallery img{width:100%;height:170px;object-fit:contain;border:1px solid var(--stroke);border-radius:10px;background:#09100b}.note{border-left:3px solid var(--lime);padding:9px 13px;color:#bcd4b8;background:#1e2c1c;border-radius:4px;font-size:12px;line-height:1.5}.toast{position:fixed;bottom:25px;right:25px;max-width:min(410px,calc(100% - 32px));background:#d4ff6e;color:#19200b;font-weight:750;padding:13px 16px;border-radius:11px;box-shadow:0 15px 40px #0009;display:none;z-index:1100;font-size:13px}.toast.error{background:#ff9caa;color:#2b070d}.auth-layout{display:grid;place-items:center;min-height:100dvh;padding:24px}.auth-card{width:min(100%,440px);background:#121a14;border:1px solid #354636;border-radius:22px;padding:28px}.auth-brand{font-size:27px;font-weight:950;letter-spacing:-1px;margin-bottom:9px}.auth-brand span{color:var(--lime)}.auth-card h1{font-size:24px;margin-top:28px}.auth-card form{display:grid;gap:13px;margin:20px 0}.auth-card label{display:grid;gap:7px;font-size:12px;font-weight:750;color:#cbdac6}.auth-card button{width:100%}.auth-card .auth-switch{margin-top:12px}.bottom{display:none}.user-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#a8b8a7}.divider{border:0;border-top:1px solid var(--stroke);margin:21px 0}.loading{opacity:.7;pointer-events:none}.notice{border:1px solid #4d5d38;background:#1b2619;border-radius:12px;padding:14px;color:#cfe1bd;font-size:12px;line-height:1.55}.danger-text{color:var(--red)}.icon{font-size:19px}.onboard{margin:10px 0 20px}.progress{padding:11px 13px;background:#1d2a1e;border-radius:9px;color:var(--lime);font-size:12px;margin:8px 0}
@media(max-width:1050px){.side{width:200px}.shell{padding:28px 22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cols{grid-template-columns:1fr}}
@media(max-width:700px){.app{display:block}.side{display:none}.shell{padding:20px 13px calc(102px + env(safe-area-inset-bottom))}.topbar{margin-bottom:19px;align-items:flex-start}.topbar p{font-size:12px}.top-actions{flex-direction:column;align-items:flex-end;gap:7px}.status{font-size:10px;padding:7px 9px}.top-actions .btn{font-size:11px;padding:7px 9px;min-height:34px}.user-email{display:none}.stats{gap:9px}.card{padding:15px}.metric{font-size:24px}.metric-label{font-size:10px}.cols.equal{grid-template-columns:1fr}.cal-head h2{font-size:17px}.week,.calendar{gap:4px}.day{min-height:75px;padding:7px 3px;gap:3px;border-radius:8px}.day strong{font-size:10px;letter-spacing:-.35px}.day small{font-size:9px}.day b{font-size:11px}.fields,.checks{grid-template-columns:1fr}.photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.photo{min-height:125px;padding:6px}.photo img{height:80px}.photo input{max-width:100%;font-size:9px}.gallery img{height:90px}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:repeat(6,1fr);background:#0d150fef;border-top:1px solid #314433;padding:9px 2px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(15px)}.bottom button{background:none;color:#99ac97;border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:4px 0;font-size:10px;font-weight:750;min-height:48px}.bottom button.active{color:var(--lime)}.bottom svg{width:19px;height:19px}.toast{bottom:calc(88px + env(safe-area-inset-bottom));right:10px}h1{font-size:27px}.actions .btn{flex:1;white-space:normal}.row.wrap>*{min-width:0}}
