:root{--a-blue:#10306F;--a-teal:#1A707E;--a-ink:#111318;--a-muted:#5c626e;--a-line:#e3e6ec;--a-bg:#f5f6f9;--a-card:#ffffff;--a-danger:#b3261e;--a-radius:12px;--a-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.admin-root{font-family:var(--a-font);color:var(--a-ink);background:var(--a-bg);min-height:100vh}.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.admin-login-card{width:100%;max-width:360px;background:var(--a-card);border:1px solid var(--a-line);border-radius:var(--a-radius);padding:32px 28px;box-shadow:0 12px 40px rgba(16,48,111,.08)}.admin-login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.admin-login-brand img{width:28px;height:28px;object-fit:contain}.admin-login-brand span{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.admin-login-brand .tag{margin-left:auto;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--a-teal);background:rgba(26,112,126,.1);padding:3px 8px;border-radius:999px}.admin-field{display:block;margin-bottom:16px}.admin-field span{display:block;font-size:.82rem;font-weight:600;color:var(--a-muted);margin-bottom:6px}.admin-field input{width:100%;padding:10px 12px;border:1px solid var(--a-line);border-radius:8px;font-size:.95rem;font-family:var(--a-font);color:var(--a-ink);background:#fff}.admin-field input:focus{outline:none;border-color:var(--a-blue);box-shadow:0 0 0 3px rgba(16,48,111,.12)}.admin-btn{width:100%;padding:11px 16px;border:none;border-radius:8px;background:var(--a-blue);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .15s ease}.admin-btn:hover{background:var(--a-teal)}.admin-btn:disabled{opacity:.6;cursor:default}.admin-error{background:rgba(179,38,30,.08);color:var(--a-danger);border-radius:8px;padding:9px 12px;font-size:.86rem;margin-bottom:16px}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:232px;flex:none;background:#fff;border-right:1px solid var(--a-line);display:flex;flex-direction:column;padding:20px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-sidebar-brand{display:flex;align-items:center;gap:10px;font-weight:700;padding:0 8px;margin-bottom:24px}.admin-sidebar-brand img{width:26px;height:26px;object-fit:contain;flex:none}.admin-sidebar-brand span{overflow:hidden;white-space:nowrap}.admin-sidebar-toggle{background:none;border:1px solid var(--a-line);border-radius:8px;width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--a-muted);margin-left:auto}.admin-sidebar-toggle:hover{color:var(--a-blue);border-color:var(--a-blue)}.admin-sidebar-toggle svg{width:15px;height:15px;transition:transform .15s ease}.admin-nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.admin-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:.92rem;font-weight:600;color:var(--a-muted)}.admin-nav a svg{flex:none;width:18px;height:18px}.admin-nav a span{overflow:hidden;white-space:nowrap}.admin-nav a:hover{background:var(--a-bg);color:var(--a-ink)}.admin-nav a.active{background:rgba(16,48,111,.08);color:var(--a-blue)}.admin-sidebar .signout{display:flex;align-items:center;gap:10px;background:none;border:1px solid var(--a-line);border-radius:8px;padding:9px 12px;font-size:.88rem;font-weight:600;color:var(--a-muted);cursor:pointer;text-align:left;margin-top:8px}.admin-sidebar .signout svg{flex:none;width:16px;height:16px}.admin-sidebar .signout span{overflow:hidden;white-space:nowrap}.admin-sidebar .signout:hover{color:var(--a-blue);border-color:var(--a-blue)}@media (min-width:861px){.admin-sidebar[data-collapsed=true]{width:68px;padding-left:10px;padding-right:10px}.admin-sidebar[data-collapsed=true] .admin-sidebar-brand{justify-content:center}.admin-sidebar[data-collapsed=true] .admin-nav a span,.admin-sidebar[data-collapsed=true] .admin-sidebar-brand span,.admin-sidebar[data-collapsed=true] .signout span{display:none}.admin-sidebar[data-collapsed=true] .admin-sidebar-toggle{margin-left:0}.admin-sidebar[data-collapsed=true] .admin-nav a,.admin-sidebar[data-collapsed=true] .signout{justify-content:center}.admin-sidebar[data-collapsed=true] .admin-sidebar-toggle svg{transform:rotate(180deg)}}@media (max-width:860px){.admin-sidebar-toggle{display:none}}.admin-shell-main{flex:1 1;min-width:0}.admin-mobile-bar{display:none;align-items:center;gap:12px;height:56px;padding:0 16px;background:#fff;border-bottom:1px solid var(--a-line);position:-webkit-sticky;position:sticky;top:0;z-index:40}.admin-mobile-bar button{background:none;border:none;font-size:1.4rem;line-height:1;padding:4px;cursor:pointer;color:var(--a-ink)}.admin-mobile-bar .brand{display:flex;align-items:center;gap:8px;font-weight:700}.admin-mobile-bar .brand img{width:22px;height:22px;object-fit:contain}.admin-overlay{display:none}@media (max-width:860px){.admin-sidebar{position:fixed;left:0;top:0;z-index:60;transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 0 40px rgba(0,0,0,.12)}.admin-sidebar[data-open=true]{transform:translateX(0)}.admin-mobile-bar{display:flex}.admin-overlay[data-open=true]{display:block;position:fixed;inset:0;background:rgba(17,19,24,.4);z-index:50}}.admin-main{padding:32px 12px;max-width:1400px;margin:0 auto}@media (max-width:640px){.admin-main{padding:20px 8px}.admin-form-grid{grid-template-columns:1fr}}.admin-card{background:var(--a-card);border:1px solid var(--a-line);border-radius:var(--a-radius);padding:24px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.admin-form-grid .full{grid-column:1/-1}.admin-field select,.admin-field textarea{width:100%;padding:10px 12px;border:1px solid var(--a-line);border-radius:8px;font-size:.95rem;font-family:var(--a-font);color:var(--a-ink);background:#fff}.admin-field select:focus,.admin-field textarea:focus{outline:none;border-color:var(--a-blue);box-shadow:0 0 0 3px rgba(16,48,111,.12)}.admin-hint{font-size:.8rem;color:var(--a-muted);margin-top:4px}.admin-success{background:rgba(26,112,126,.1);color:var(--a-teal);border-radius:8px;padding:9px 12px;font-size:.86rem;margin-bottom:16px}.admin-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.admin-toolbar select{padding:8px 10px;border:1px solid var(--a-line);border-radius:8px;font-family:var(--a-font);font-size:.9rem}.admin-link-btn{background:none;border:1px solid var(--a-line);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600;color:var(--a-blue);cursor:pointer}.admin-link-btn:hover{border-color:var(--a-blue)}.admin-btn-secondary{background:#fff;border:1px solid var(--a-line);color:var(--a-ink);border-radius:8px;padding:10px 16px;font-weight:600;font-size:.9rem;cursor:pointer}.admin-table-wrap{overflow-x:auto;border:1px solid var(--a-line);border-radius:var(--a-radius);background:#fff}.admin-table{width:100%;border-collapse:collapse;font-size:.86rem;white-space:nowrap}.admin-table td,.admin-table th{padding:9px 12px;text-align:left;border-bottom:1px solid var(--a-line)}.admin-table th{background:rgba(16,48,111,.08);color:var(--a-blue);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}.admin-table tr:last-child td{border-bottom:none}.admin-table tr.blank-day td{color:#c3c7cf}.admin-table .type-pill{padding:2px 8px;border-radius:999px;font-size:.76rem;font-weight:700;color:#fff}.admin-table .type-Income{background:#1a7e4a}.admin-table .type-Expense{background:#b3261e}.admin-table .type-Reimbursement{background:#b8860b}.vault-gate{max-width:460px;margin:40px auto}.vault-search{flex:1 1;min-width:180px;padding:8px 12px;border:1px solid var(--a-line);border-radius:8px;font-family:var(--a-font);font-size:.9rem}.vault-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.vault-chip{background:#fff;border:1px solid var(--a-line);border-radius:999px;padding:5px 13px;font-size:.82rem;font-weight:600;color:var(--a-muted);cursor:pointer}.vault-chip.active{background:rgba(16,48,111,.08);border-color:var(--a-blue);color:var(--a-blue)}.vault-label{display:block;font-size:.82rem;font-weight:600;color:var(--a-muted);margin-bottom:8px}.vault-field-edit{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px;flex-wrap:wrap}.vault-field-edit input:not([type]),.vault-field-edit input[type=text]{width:150px;padding:9px 10px;border:1px solid var(--a-line);border-radius:8px;font-family:var(--a-font)}.vault-field-edit textarea{flex:1 1;min-width:200px;padding:9px 10px;border:1px solid var(--a-line);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;resize:vertical}.vault-check{gap:5px;font-size:.8rem;color:var(--a-muted);padding-top:9px}.vault-check,.vault-file-row{display:flex;align-items:center}.vault-file-row{justify-content:space-between;gap:10px;padding:7px 10px;margin-bottom:6px;border:1px solid var(--a-line);border-radius:8px;font-size:.88rem}.vault-item{background:#fff;border:1px solid var(--a-line);border-radius:var(--a-radius);margin-bottom:10px;overflow:hidden}.vault-item-head{width:100%;display:flex;align-items:center;gap:12px;padding:14px 18px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--a-font);font-size:.95rem}.vault-item-head:hover{background:var(--a-bg)}.vault-item-title{font-weight:700;color:var(--a-ink)}.vault-item-project{margin-left:auto;font-size:.82rem;color:var(--a-muted)}.vault-pill{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--a-teal);background:rgba(26,112,126,.1);padding:3px 9px;border-radius:999px}.vault-item-body{padding:4px 18px 16px;border-top:1px solid var(--a-line)}.vault-field-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--a-line);flex-wrap:wrap}.vault-field-label{width:130px;flex:none;font-size:.82rem;color:var(--a-muted);font-weight:600}.vault-field-value{flex:1 1;min-width:160px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;word-break:break-all;white-space:pre-wrap}.vault-notes{margin:14px 0 0;font-size:.88rem;color:var(--a-muted);white-space:pre-wrap}.vault-item-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.vault-item-actions small{color:var(--a-muted)}.vault-combo{position:relative}.vault-combo input{padding-right:34px}.vault-combo-toggle{position:absolute;top:0;right:0;height:100%;width:34px;background:none;border:none;cursor:pointer;color:var(--a-muted);font-size:.8rem}.vault-combo-toggle:hover{color:var(--a-blue)}.vault-combo-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;background:#fff;border:1px solid var(--a-line);border-radius:8px;box-shadow:0 10px 30px rgba(16,48,111,.14)}.vault-combo-opt{padding:9px 12px;font-size:.9rem;cursor:pointer}.vault-combo-opt.active,.vault-combo-opt:hover{background:rgba(16,48,111,.07)}.vault-combo-opt.current{font-weight:700;color:var(--a-blue)}.vault-combo-opt.create{color:var(--a-teal);font-weight:600;border-top:1px solid var(--a-line)}