:root{--bg:#f3f7f6;--surface:#fff;--surface2:#edf5f3;--text:#102a26;--muted:#647773;--line:#d8e5e2;--primary:#0f766e;--primary2:#0b5f59;--danger:#c2413a;--warning:#c56d0a;--success:#23845a;--shadow:0 12px 30px rgba(15,65,58,.09);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
:root[data-theme=dark]{--bg:#091411;--surface:#11201d;--surface2:#172b27;--text:#ecf8f5;--muted:#9eb4af;--line:#29423d;--primary:#2bb3a4;--primary2:#25998d;--shadow:0 15px 35px rgba(0,0,0,.28);color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.appbar{height:72px;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:0 max(20px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand-icon{width:42px;height:42px;border-radius:14px;background:var(--primary);display:grid;place-items:center;font-size:22px}.brand h1{font-size:18px;margin:0}.brand p{font-size:12px;margin:3px 0 0;color:var(--muted)}.header-actions{display:flex;gap:8px}.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);width:42px;height:42px;border-radius:13px;font-size:20px}.app-shell{max-width:1200px;margin:auto;padding:28px 20px 100px}.hero{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.eyebrow{font-size:11px;font-weight:800;color:var(--primary);letter-spacing:.15em}.hero h2{margin:7px 0 0;font-size:clamp(25px,4vw,38px);letter-spacing:-.04em}.primary,.secondary,.text-btn{border:0;border-radius:13px;padding:12px 18px;font-weight:800}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--primary2)}.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.text-btn{background:transparent;color:var(--primary)}.full{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:left;color:var(--text);box-shadow:var(--shadow)}.stat span{display:block;font-size:12px;color:var(--muted);font-weight:700}.stat strong{display:block;font-size:30px;margin-top:6px}.stat.active strong{color:var(--primary)}.stat.overdue strong{color:var(--warning)}.stat.returned strong{color:var(--success)}.controls{display:grid;grid-template-columns:1fr 170px 190px;gap:10px;margin:20px 0}.search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 14px}.search input{border:0;outline:0;width:100%;height:46px;background:transparent;color:var(--text)}select,input,textarea{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;outline:none}select:focus,input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:20px 2px 12px}.section-title h2{font-size:18px;margin:0}.section-title p{font-size:13px;color:var(--muted);margin:4px 0 0}.loan-list{display:grid;gap:12px}.loan-card{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.loan-card.overdue{border-left-color:var(--warning)}.loan-card.returned{border-left-color:var(--success)}.status-pill{display:inline-flex;border-radius:99px;padding:5px 9px;background:var(--surface2);font-size:11px;font-weight:800;color:var(--primary)}.status-pill.overdue{color:var(--warning)}.status-pill.returned{color:var(--success)}.loan-card h3{margin:9px 0 5px;font-size:18px}.loan-card p{margin:4px 0;color:var(--muted);font-size:13px}.loan-card strong,.person-name{color:var(--text)!important}.notes{font-style:italic}.card-actions{display:flex;gap:7px}.action{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--surface2);color:var(--text);font-weight:900}.action.return{color:var(--success)}.action.delete{color:var(--danger)}.empty{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:20px;padding:50px 20px}.empty>span{font-size:48px}.empty h3{margin:13px 0 4px}.empty p{color:var(--muted)}.fab,.bottom-nav{display:none}.modal{width:min(720px,calc(100% - 28px));border:0;border-radius:22px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 25px 80px rgba(0,0,0,.3)}.modal.small{width:min(440px,calc(100% - 28px))}.modal::backdrop{background:rgba(4,17,14,.6);backdrop-filter:blur(4px)}.modal form{padding:22px}.modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-head h2{margin:0;font-size:22px}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.modal-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:var(--surface2);font-size:25px;margin-bottom:14px}.close{border:0;background:var(--surface2);color:var(--text);width:36px;height:36px;border-radius:10px;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.modal label{display:grid;gap:7px;margin-bottom:13px}.modal label span{font-size:12px;font-weight:800}.modal textarea{resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.error{min-height:18px;color:var(--danger);font-size:13px}.hint{display:block;text-align:center;color:var(--muted);margin-top:12px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#102a26;color:white;border-radius:12px;padding:12px 18px;z-index:60;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){body{padding-bottom:76px}.appbar{height:64px;padding:0 14px}.brand-icon{width:38px;height:38px;border-radius:12px}.brand h1{font-size:16px}.brand p{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell{padding:20px 14px 110px}.hero{align-items:start}.desktop-new{display:none}.hero h2{font-size:26px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px;border-radius:16px}.stat strong{font-size:25px}.controls{grid-template-columns:1fr 1fr;margin:15px 0}.search{grid-column:1/-1}.controls select{min-width:0;width:100%}.loan-card{display:block;padding:16px}.person-block,.date-block{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.card-actions{justify-content:flex-end;margin-top:12px}.action{width:44px;height:42px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;height:72px;padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line);justify-content:space-around}.bottom-nav button{flex:1;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700}.bottom-nav span{display:block;font-size:20px;margin-bottom:3px}.bottom-nav button.active{color:var(--primary)}.fab{display:grid;place-items:center;position:fixed;right:18px;bottom:88px;z-index:31;width:58px;height:58px;border:0;border-radius:18px;background:var(--primary);color:white;font-size:30px;box-shadow:0 12px 28px rgba(15,118,110,.35)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal{width:100%;max-width:none;margin:0;align-self:end;border-radius:22px 22px 0 0;max-height:92dvh}.modal[open]{position:fixed;inset:auto 0 0}.modal form{max-height:92dvh;overflow:auto;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.modal-actions{position:sticky;bottom:-20px;background:var(--surface);padding:12px 0 2px}.modal-actions button{flex:1}.toast{bottom:90px;width:calc(100% - 30px);text-align:center}}
.user-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);height:42px;padding:0 12px;border-radius:13px;font-weight:800}.auth-wrap{padding:22px}.auth-wrap form{padding:0}.setup-note{background:var(--surface2);border:1px solid var(--line);border-radius:13px;padding:12px;margin:-4px 0 16px;color:var(--muted);font-size:13px;line-height:1.45}
@media(max-width:760px){.user-chip{max-width:112px;padding:0 9px}.user-chip #userName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{gap:5px}.header-actions .icon-btn,.user-chip{height:38px}.auth-wrap{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}}
