:root{--primary: #123c3c;--primary-dark: #0b2727;--accent: #c9a15a;--bg: #f5f3ee;--panel: #faf9f6;--border: #e3dfd3;--text: #1c1c1c;--muted: #6b6b6b}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:720px;margin:0 auto;padding:0 24px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;margin:0 -24px 32px;background:var(--primary)}.topbar .brand{display:flex;flex-direction:column;line-height:1.2}.topbar .brand-name{color:#fff;font-size:18px;font-weight:700;letter-spacing:.3px}.topbar .brand-tagline{color:var(--accent);font-size:11px;letter-spacing:1.2px;text-transform:uppercase}.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav a{text-decoration:none;color:#ffffffbf;font-weight:500;font-size:14px}.topbar nav a.active{color:#fff;border-bottom:2px solid var(--accent);padding-bottom:4px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h2{margin:0}.card-list{display:flex;flex-direction:column;gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px 20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.card-header h3{margin:0;font-size:16px}.card-meta{color:var(--muted);font-size:13px}.card-actions{margin-top:12px;display:flex;gap:10px;align-items:center}button,.btn{cursor:pointer;border:1px solid var(--border);background:#fff;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--text)}button:hover,.btn:hover{background:#f0efe9}button:disabled{cursor:default;opacity:.6}button.primary,.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover,.btn.primary:hover{background:var(--primary-dark)}button.accent{background:var(--accent);border-color:var(--accent);color:var(--primary-dark)}.error{color:#b3261e}.hint{color:var(--muted);font-size:13px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.status-ok{background:#e6f4ea;color:#1e7e34}.status-due-soon{background:#fff4e5;color:#b26a00}.status-overdue{background:#fdecea;color:#b3261e}.status-pending{background:#eef1f5;color:#445}.notice{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;padding:16px 20px;margin:24px 0}.centered-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:36px;width:100%;max-width:380px;text-align:center}.auth-panel .brand-name{color:var(--primary);font-size:22px;font-weight:700}.auth-panel .brand-tagline{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:24px;display:block}.form-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;max-width:480px}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-field label{font-size:13px;font-weight:600;color:var(--text)}.form-field input,.form-field select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}.form-row{display:flex;gap:12px}.form-row .form-field{flex:1;min-width:0}.form-checkbox{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:14px}
