:root{color-scheme:dark;--bg:#081018;--surface:#101c25;--surface2:#13222c;--border:#263841;--text:#f4f7f9;--muted:#93a7b0;--lime:#a7d854;--cyan:#38bece;--teal:#17a59a;--red:#ec957f;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 85% -10%,#103b3970,transparent 42%),var(--bg)}h1,h2,h3,p{margin-top:0}h1{font-size:2.15rem;letter-spacing:-.05em;margin-bottom:3px}h2{font-size:1.15rem;letter-spacing:-.02em}small,.helptext{color:var(--muted)}a{color:var(--cyan);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#0d1720;border-right:1px solid var(--border);padding:26px 16px;display:flex;flex-direction:column;gap:5px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;padding:4px 6px 30px}.brand-mark{width:47px;height:47px;display:grid;place-items:center;position:relative;font-size:2rem;font-weight:900;letter-spacing:-.12em;color:var(--lime);border:1px solid #46614b;border-radius:14px;background:#132620}.brand-mark span{position:absolute;font-size:.7rem;right:7px;top:4px;color:var(--cyan)}.brand b{display:block;font-size:1.16rem;letter-spacing:-.02em}.brand small{display:block;font-size:.72rem}.nav-caption,.overline,.login-kicker{font-size:.7rem;font-weight:800;letter-spacing:.15em;color:var(--cyan)}.nav-caption{padding:2px 14px 12px}.navtab{width:100%;padding:13px;text-align:left;background:transparent;border:1px solid transparent;color:#b7c9d0;border-radius:12px;display:flex;align-items:center;gap:12px;font-weight:700}.navtab span{font-size:1.3rem}.navtab:hover,.navtab.active{background:#182930;border-color:#315253;color:#fff}.navtab.active{box-shadow:inset 3px 0 var(--lime)}.sidebar-foot{margin-top:auto;padding:16px 10px;border-top:1px solid var(--border);font-size:.78rem;overflow-wrap:anywhere;color:var(--muted)}.sidebar-foot button{margin-top:6px}
.main{width:min(1660px,100%);margin:auto;padding:34px clamp(18px,3.5vw,64px) 80px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.topbar p{color:var(--muted);margin:4px 0}.owner-pill{background:#16302d;color:#9cf3c6;border:1px solid #2d5e48;border-radius:30px;padding:8px 13px;font-size:.75rem;font-weight:800;white-space:nowrap}
.panel{display:none}.panel.active{display:block}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:22px}.push{flex:1}.btn,.iconbutton,select,input[type=date],input[type=search]{border:1px solid var(--border);background:#14222c;color:var(--text);border-radius:10px;padding:10px 13px;min-height:42px}.btn{font-weight:800}.btn.primary{background:linear-gradient(110deg,var(--lime),#61c983 55%,var(--teal));border-color:transparent;color:#09221a}.btn.outline{background:transparent}.btn:hover,.iconbutton:hover{border-color:var(--teal)}.iconbutton{font-size:1.5rem;padding:1px 12px}.quiet{color:var(--cyan);border:0;background:transparent;padding:7px 2px;font-size:.83rem}.danger{color:var(--red)}#toast:not(:empty){background:#1c3731;border:1px solid #35745f;border-radius:9px;margin-bottom:16px;padding:11px 14px}#toast.error{background:#3b201f;border-color:#86534c;color:#ffbaaf}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:21px}.stats article{min-width:0;padding:20px 21px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(150deg,#15252e,#101a23);display:flex;flex-direction:column;gap:6px}.stats article span{color:var(--muted);font-size:.78rem}.stats article strong{font-size:1.65rem;letter-spacing:-.05em}.stats article small{font-size:.72rem}
.diary-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:18px;align-items:start}.card{border:1px solid var(--border);border-radius:18px;background:#101b24;overflow:hidden;margin-bottom:17px}.card-head{padding:20px 22px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.card-head h2{margin:0}.card-head p{margin:3px 0 0;font-size:.75rem;color:var(--muted)}.legend{white-space:nowrap;font-size:.72rem;color:var(--muted)}.legend i{display:inline-block;height:9px;width:9px;border-radius:2px;background:var(--teal);margin:0 4px}.legend .gapkey{background:#4b626a;border:1px dashed #93a7b0}
.timeline{position:relative;margin:20px 16px 25px 74px;min-height:520px;border-left:1px solid #4c626b;border-right:1px solid #1c2f36}.hour{position:absolute;left:0;right:0;border-top:1px solid #2d3b4380}.hour span{position:absolute;left:-66px;top:-10px;color:var(--muted);font-size:.7rem}.gapblock{position:absolute;left:0;right:0;background:repeating-linear-gradient(145deg,#13232b,#13232b 9px,#182b3385 9px,#182b3385 12px);border-top:1px dotted #39525c;cursor:pointer;z-index:1}.gapblock:hover{background:#233c43}.gapblock span{font-size:.67rem;color:#819ba5;padding:7px 10px;display:block}.event{position:absolute;border-left:4px solid var(--lime);background:linear-gradient(110deg,#204535,#18423f);border-radius:8px;padding:8px 9px;overflow:hidden;z-index:3;text-align:left;color:#e8fff7;box-shadow:0 2px 12px #0003;min-height:24px;font-size:.78rem}.event.personal{border-color:var(--cyan);background:linear-gradient(100deg,#173b4c,#1b3541)}.event.unspecified{border-color:#eabb7d}.event:hover{outline:2px solid #aec4c3}.event strong{display:block;font-size:.8rem}.event small{color:#d1ece7}
.rail-list{padding:10px 12px;max-height:600px;overflow:auto}.entry-row{padding:12px 10px;border-bottom:1px solid #263943;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.entry-row:last-child{border-bottom:0}.entry-row strong{display:block;font-size:.82rem;overflow-wrap:anywhere}.entry-row p{margin:3px 0;font-size:.77rem;color:var(--muted);overflow-wrap:anywhere}.entry-row small{font-size:.71rem}.entry-row button{padding:7px;border:1px solid var(--border);color:var(--cyan);background:transparent;border-radius:7px}.chip{background:#214037;border-radius:99px;padding:2px 8px;font-size:.73rem;color:var(--lime)}.empty{padding:20px;color:var(--muted);font-size:.84rem}.helptext{font-size:.78rem}.inlinecheck{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:730px;font-size:.82rem}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.72rem}td:last-child{text-align:right}table button{border:0;color:var(--cyan);background:transparent}td.amount{font-variant-numeric:tabular-nums;white-space:nowrap}
dialog{background:#101d27;border:1px solid #38525e;color:var(--text);border-radius:20px;padding:24px;width:min(610px,calc(100vw - 28px));max-height:90vh;overflow:auto}dialog::backdrop{background:#010709bf;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.dialog-head h2{font-size:1.5rem;margin-top:5px}dialog form{display:grid;gap:12px}dialog label{font-size:.82rem;color:var(--muted);display:grid;gap:5px}dialog input,dialog select,dialog textarea{width:100%;background:#0b161e;border:1px solid #304650;color:#fff;border-radius:10px;padding:10px}dialog textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{border-top:1px solid var(--border);padding-top:13px;display:flex;align-items:center;gap:12px}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(500px,100%);border-radius:25px;padding:42px;background:linear-gradient(145deg,#132630,#0e1920);border:1px solid #2e444d;box-shadow:0 25px 90px #0006}.login-card .brand{padding:0;margin-bottom:50px}.login-kicker{color:var(--lime);margin-bottom:12px}.login-card h1{font-size:2.7rem;line-height:1.07}.login-card p{color:var(--muted)}.login-btn{display:flex;justify-content:center;margin-top:28px;text-decoration:none}.disabled{pointer-events:none;opacity:.55}.login-card footer{border-top:1px solid var(--border);padding-top:20px;margin-top:32px;color:var(--muted);font-size:.73rem}.login-notice{font-size:.82rem;margin-top:15px}
@media(max-width:1100px){.diary-layout{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.layout{display:block}.sidebar{height:auto;position:relative;flex-direction:row;align-items:center;flex-wrap:wrap;padding:12px}.sidebar .brand{padding:4px;margin-right:auto}.sidebar .brand small,.sidebar .nav-caption,.sidebar-foot{display:none}.navtab{width:auto;font-size:.75rem;padding:8px}.main{padding:20px 12px}.topbar h1{font-size:1.75rem}.owner-pill{display:none}.toolbar{gap:7px}.toolbar input,.toolbar select{max-width:100%}.stats{gap:8px}.stats article{padding:14px}.diary-layout{display:block}.right-rail{display:block}.card-head{flex-wrap:wrap}.legend{white-space:normal}.form-grid{grid-template-columns:1fr}.login-card{padding:26px}.login-card h1{font-size:2.1rem}}
