﻿*,*::before,*::after{box-sizing:border-box}:root{--navy: #1e3a5f;--ink: #1e293b;--muted: #64748b;--line: #e2e8f0;--rule: #cbd5e1;--page: #f8fafc;--surface: #ffffff;--open: #15803d;--open-bg: #f0fdf4;--locked: #b91c1c;--locked-bg: #fef2f2;--ok-bg: #bbf7d0;--alert-bg: #fecaca;--warn-bg: #fde68a;--shut: #fca5a5;--shut-hover: #f98a8a;--seat-off: #e5e7eb;--seat-off-hover: #d5d8dd}body{margin:0;font-family:-apple-system, "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;background:var(--page);color:var(--ink)}h1,h2,h3{margin-top:0.5em}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}input,select,textarea,button{font:inherit}.member-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:13px;table-layout:fixed;min-width:1250px}.member-table th,.member-table td{padding:8px 10px;text-align:left}.member-table col.mcol-select{width:40px}.member-table .row-select{text-align:center}.member-table .row-select input{width:auto;padding:0}.bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#eef4fb;border:1px solid var(--rule);border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:14px;color:var(--navy)}.bulk-bar[hidden]{display:none}.bulk-sep{width:1px;height:20px;background:var(--rule)}.member-table col.mcol-real_name{width:120px}.member-table col.mcol-email{width:200px}.member-table col.mcol-nickname{width:110px}.member-table col.mcol-role{width:110px}.member-table col.mcol-post{width:120px}.member-table col.mcol-status{width:90px}.member-table col.mcol-divisions{width:160px}.member-table col.mcol-joined_on{width:150px}.member-table col.mcol-actions{width:150px}.member-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}.member-actions form{margin:0}.member-actions .btn{width:100%;white-space:nowrap}.member-actions,.member-actions form{overflow:visible;text-overflow:clip}.member-table-read td{overflow:hidden;text-overflow:ellipsis}.analytics-table{border-collapse:collapse;background:white;table-layout:fixed;width:100%}.analytics-table th,.analytics-table td{white-space:nowrap}.analytics-table col.acol-text{width:120px}.analytics-table col.acol-div{width:150px}.analytics-table col.acol-num{width:110px}.analytics-table col.acol-group{width:165px}.member-table-read{font-size:14px}.member-table-read td{padding:12px 10px;vertical-align:middle}.member-table-read tbody tr{border-bottom:1px solid var(--page)}.member-table-read tbody tr:hover{background:#fbfdff}.member-table thead tr{border-bottom:2px solid var(--line)}.member-table thead th{color:var(--muted);font-weight:600}.member-table tbody tr{border-bottom:1px solid var(--page)}.member-table input,.member-table select{font-size:13px;padding:4px 6px;border:1px solid var(--rule);border-radius:4px}.member-table input[type="text"],.member-table input[type="date"],.member-table select{width:100%;min-width:0}.member-table .divisions label{display:inline-flex;gap:4px;align-items:center;margin-right:8px}.member-table .divisions input{width:auto;padding:0}.member-table .status-pill{padding:2px 8px;border-radius:12px}.avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:var(--line);color:var(--ink);font-size:13px;font-weight:600;line-height:1;flex:none}.avatar-lg{width:72px;height:72px;font-size:28px}.avatar-fallback{border:1px solid var(--rule)}.header-profile{display:flex;align-items:center;gap:8px;color:white;text-decoration:none;padding:2px 6px;border-radius:6px}.header-profile:hover{background:rgba(255,255,255,0.12)}.header-profile:focus-visible{outline:2px solid white;outline-offset:1px}.profile-head{display:flex;align-items:center;gap:16px;margin:12px 0 18px}.records-table{width:100%;border-collapse:collapse;background:var(--surface)}.records-table th,.records-table td{padding:10px 12px;text-align:left}.records-table thead tr{border-bottom:2px solid var(--line)}.records-table tbody tr{border-bottom:1px solid var(--page)}.records-table tbody tr.date-band-0{background:var(--surface)}.records-table tbody tr.date-band-1{background:#f1f5f9}.records-table tbody tr:hover{background:#e6eef7}.tour-ring{animation:tour-ring 1.3s ease-out 2;border-radius:8px}@keyframes tour-ring{0%{box-shadow:0 0 0 0 rgba(30,58,95,0.55)}70%{box-shadow:0 0 0 10px rgba(30,58,95,0)}100%{box-shadow:0 0 0 0 rgba(30,58,95,0)}}.records-table td a{color:var(--navy);font-weight:600;text-decoration:none}.records-table td a:hover{text-decoration:underline}.records-table{table-layout:fixed;min-width:1465px}.records-table th,.records-table td{white-space:nowrap}.records-table col.col-category{width:180px}.records-table col.col-case{width:195px}.records-table col.col-date{width:105px}.records-table col.col-created{width:145px}.records-table col.col-service-location{width:130px}.records-table col.col-member{width:100px}.records-table col.col-location{width:220px}.records-table col.col-hours{width:120px}.records-table col.col-sync{width:105px}.records-table col.col-actions{width:165px}.records-location,.records-service-location{cursor:help}.records-location span,.records-service-location span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-tip]{position:relative;cursor:help}[data-tip]:hover::after{content:attr(data-tip);position:absolute;left:12px;top:100%;z-index:20;margin-top:2px;padding:8px 12px;background:#1e293b;color:#fff;font-size:14px;font-weight:400;line-height:1.5;white-space:normal;width:max-content;max-width:380px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.18);pointer-events:none}.records-hours{text-align:right;font-variant-numeric:tabular-nums}.records-actions{text-align:right}.locked-note{color:var(--muted);font-size:12px;cursor:help}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px 0}.pagination-count{color:var(--muted);font-size:13px}.pagination-pages{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.page-link{display:inline-block;min-width:34px;padding:6px 10px;text-align:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);text-decoration:none;font-size:13px}.page-link:hover{border-color:var(--navy);color:var(--navy)}.page-current{background:var(--navy);border-color:var(--navy);color:white;font-weight:600}.page-current:hover{color:white}.page-gap{color:var(--muted);padding:0 2px}.pagination-inputs{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pagination-jump,.pagination-per-page{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.pagination-jump label,.pagination-per-page label{display:flex;align-items:center;gap:6px}.pagination-jump input[type="number"],.pagination-per-page input[type="number"]{padding:5px 6px;border:1px solid var(--rule);border-radius:6px;font-size:13px}.pagination-jump.is-disabled{opacity:0.45}.pagination-jump input:disabled,.pagination-jump input[type="submit"]:disabled{background:var(--page);cursor:not-allowed}.banner-warn{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--warn-bg);border:1px solid #d9a300;border-radius:8px;padding:10px 14px;margin-bottom:14px;color:#7a5200}.banner-warn .hint{color:#8a6a2a}.sync-opt{display:flex;align-items:flex-start;gap:8px;background:var(--page);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 16px;cursor:pointer}.sync-opt input{width:auto;margin:2px 0 0;flex:none}.sync-opt .hint{display:block;margin-top:2px}.form-target{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 16px;background:var(--surface)}.form-target legend{font-size:13px;font-weight:600;color:var(--ink);padding:0 6px}.form-target label{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:6px;cursor:pointer}.form-target label:hover{background:var(--page)}.form-target input{width:auto;margin:3px 0 0;flex:none}.form-target .hint{display:block;margin-top:2px}.form-target label:last-child{border-left:3px solid #d9a300}.sync-blocked{color:#7a5200;font-size:12px;white-space:nowrap;cursor:help;background:var(--warn-bg);border-radius:10px;padding:2px 8px}.badge{padding:2px 10px;border-radius:12px;font-size:12px;white-space:nowrap}.badge-unsynced{background:var(--line);color:var(--muted)}.badge-pending{background:var(--warn-bg);color:#78350f}.badge-success{background:var(--ok-bg);color:#14532d}.badge-failed{background:var(--alert-bg);color:#7f1d1d}.record-detail{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;margin:0 0 16px}.record-detail dt{font-size:12px;color:var(--muted);margin-bottom:3px}.record-detail dd{margin:0}.field-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;margin:8px 0 20px}.field-grid label{display:flex;flex-direction:column;gap:4px;margin:0}.field-grid input,.field-grid select,.field-grid textarea{width:100%;padding:7px;border:1px solid var(--rule);border-radius:4px}.field-grid .field-wide{grid-column:1 / -1}.field-grid label small{font-size:11px;line-height:1.4}.field-grid input:disabled,.field-grid select:disabled,.field-grid textarea:disabled{background:var(--page);color:var(--muted);border-color:var(--line);cursor:not-allowed}.sheet-block:disabled legend,.sheet-block:disabled label>span{color:var(--muted)}.sheet-block{border:0;padding:0;margin:0 0 4px}.sheet-block legend{padding:0;font-weight:600;font-size:14px;color:var(--navy);border-left:3px solid var(--navy);padding-left:8px;margin-bottom:4px}form.button_to{display:contents}.page{padding:16px}.banners{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid rgba(0,0,0,0.1)}.banners .banner{border-bottom:none}.banners .banner+.banner{border-top:1px solid rgba(0,0,0,0.08)}.banner{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;color:var(--ink);border-bottom:1px solid rgba(0,0,0,0.1)}.banner span{flex:0 1 auto}.banner-ok{background:var(--ok-bg)}.banner-alert{background:var(--alert-bg)}.banner-notice{background:var(--warn-bg)}.banner-dismiss{background:none;border:none;cursor:pointer;color:var(--ink);opacity:0.55;font-size:16px;line-height:1;padding:2px 7px;border-radius:4px}.banner-dismiss:hover{opacity:1;background:rgba(0,0,0,0.06)}.banner-dismiss:focus-visible{outline:2px solid var(--ink);outline-offset:1px}label{font-size:14px;color:var(--muted)}summary::-webkit-details-marker{display:none}.division-bar{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 16px}.division-card{flex:1 1 320px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:8px;padding:10px 14px}.division-card[data-state="open"]{border-left-color:var(--open)}.division-card[data-state="locked"]{border-left-color:var(--locked)}.division-card h3{margin:0;font-size:15px}.pill{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.pill[data-state="open"]{color:var(--open);background:var(--open-bg);border-color:#bbf7d0}.pill[data-state="locked"]{color:var(--locked);background:var(--locked-bg);border-color:#fecaca}.pill[data-state="readonly"]{color:var(--muted);background:var(--page);border-color:var(--line)}.card-note{font-size:12px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:12px;margin-bottom:24px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;position:relative}.metric-value{font-size:21px;font-weight:700;line-height:1.25;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.metric-label{color:var(--ink);font-size:14px;font-weight:600;margin-top:6px}.metric-note{color:var(--muted);font-size:12px;margin-top:2px}.metric-zero .metric-value{color:#cbd5e1;font-weight:600}.metric-zero .metric-label{color:var(--muted);font-weight:500}.metric-duty{border-left:3px solid var(--navy)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:16px}.filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}.filters select,.filters input[type="text"],.filters input[type="date"]{padding:7px 8px;border:1px solid var(--rule);border-radius:6px;font-size:14px;background:white;min-width:110px}.filters .btn{padding:8px 18px}.filters .filter-clear{padding:8px 10px;color:var(--muted);text-decoration:none;font-size:13px;align-self:end}.filters .filter-clear:hover{color:var(--ink);text-decoration:underline}.window-form{display:flex;align-items:center;gap:4px;margin-left:auto}.window-form input{width:46px;padding:4px 2px;text-align:center;border:1px solid var(--rule);border-radius:4px;font-variant-numeric:tabular-nums}.window-form .hint{font-size:12px;color:var(--muted)}.btn{border:none;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px}.btn-quiet{background:var(--page);border:1px solid var(--rule);color:var(--ink)}.btn-lock{background:var(--locked);color:#fff}.btn-unlock{background:var(--open);color:#fff}.btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.grid-scroll{overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 260px);min-height:320px;border:1px solid var(--line);border-radius:8px}#duty-grid{--col-date: 118px;--col-shift: 118px;--shift-cols: 9;table-layout:fixed;width:calc(var(--col-date) + (var(--col-shift) * var(--shift-cols)));border-collapse:separate;border-spacing:0;background:var(--surface);white-space:nowrap;font-size:14px}#duty-grid td{overflow:hidden}.occupant{display:block;white-space:nowrap}.occ-name{white-space:nowrap}.occ-mark{margin-left:2px}.occupant .annot{display:inline-block;margin-left:2px;line-height:1.25;white-space:nowrap}#duty-grid th,#duty-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}#duty-grid thead th{position:sticky;z-index:2;background:#eef4fb;color:var(--navy);padding:8px 10px;line-height:20px;height:36px;box-sizing:border-box;font-weight:600;border-bottom:1px solid var(--rule)}#duty-grid thead tr:first-child th{top:0}#duty-grid thead tr:last-child th{top:36px;font-weight:500;font-variant-numeric:tabular-nums}#duty-grid .division-head{border-left:2px solid var(--rule)}#duty-grid td{padding:4px 8px;text-align:center;height:56px;box-sizing:border-box}#duty-grid tbody tr:hover td:not(.cell-shut):not(.cell-seat-off){background:#fbfdff}#duty-grid tbody tr:hover td.cell-shut{background:var(--shut-hover)}#duty-grid tbody tr:hover td.cell-seat-off{background:var(--seat-off-hover)}#duty-grid .col-date{font-variant-numeric:tabular-nums;background:var(--surface);position:sticky;z-index:1}#duty-grid .col-date{left:0}#duty-grid thead th.col-datehead{position:sticky;left:0;z-index:3;border-right:2px solid var(--rule)}#duty-grid .col-date{border-right:2px solid var(--rule);box-shadow:2px 0 0 var(--rule)}.weekend .col-date{color:var(--locked)}#duty-grid .day-weekday{color:var(--muted);font-size:12px;margin-left:4px}.day-event{display:block;margin-top:2px;font-size:11px;line-height:1.3;color:#92400e;white-space:normal}.has-event .col-date{background:#fffbeb}.cell-open{cursor:pointer}.cell-open:hover{box-shadow:inset 0 0 0 2px var(--navy)}.cell-shut{background:var(--shut);color:#7f1d1d;font-size:12px}.cell-seat-off{background:var(--seat-off)}.occupant{color:var(--ink)}.occupant .annot,.occ-mark{color:var(--muted);font-size:12px}.occupant .annot::before,.occ-mark::before{content:"("}.occupant .annot::after,.occ-mark::after{content:")"}.occupant.has-mark .annot{display:block;margin-left:0}.occupant-off{color:var(--muted);text-decoration:line-through;opacity:0.75}.panel-status{border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:0 0 10px}.panel-status legend{padding:0 4px;color:var(--muted);font-size:12px}.panel-status .radio{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:13px;cursor:pointer}.panel-status input[type="radio"]{width:auto;margin:0}.occupant-off .annot{text-decoration:none}.occupant-edit{cursor:pointer;border-radius:4px;display:block;width:100%;padding:1px 2px;box-sizing:border-box}.occupant-edit:hover{background:#fff3cd;box-shadow:inset 0 0 0 1px var(--rule)}.legend{color:var(--muted);font-size:13px;margin-top:10px;display:flex;gap:16px;flex-wrap:wrap}.legend .swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:5px}.month-picker{display:flex;align-items:center;gap:6px}.month-picker-select{padding:5px 8px;border:1px solid var(--rule);border-radius:4px;font-variant-numeric:tabular-nums}.hint{font-size:12px;color:var(--muted)}.panel{display:none;position:absolute;z-index:30;min-width:236px;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px;box-shadow:0 8px 24px rgba(15,23,42,0.18)}.panel h4{margin:0 0 10px;font-size:13px;color:var(--muted);font-weight:500}.panel-warning{margin:0 0 10px;padding:7px 10px;border-radius:4px;font-size:12px;background:var(--locked-bg);color:var(--locked)}.panel label{display:block;margin-bottom:10px;font-size:13px}.panel input,.panel select{width:100%;padding:6px;margin-top:3px;border:1px solid var(--rule);border-radius:4px}.panel fieldset{border:none;border-top:1px solid var(--line);margin:12px 0 0;padding:10px 0 0}.panel legend{font-size:12px;color:var(--muted);padding:0 6px 0 0}.panel-actions{display:flex;gap:8px}.panel-actions .btn{flex:1;padding:8px}.btn-primary{background:var(--navy);color:#fff}.btn-danger{background:var(--locked);color:#fff}#duty-grid col.gcol-date{width:var(--col-date)}#duty-grid col.gcol-shift{width:var(--col-shift)}@media (max-width: 700px){.pagination{flex-direction:column;align-items:stretch}.pagination-pages,.pagination-inputs{justify-content:center}.records-table{min-width:0;width:100%;table-layout:auto}.records-table colgroup{display:none}.records-table thead{display:none}.records-table,.records-table tbody,.records-table tr,.records-table td{display:block;width:100%;box-sizing:border-box}.records-table tr{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:12px}.records-table tr.date-band-1{background:#f1f5f9}.table-wrap-cards{overflow-x:visible}.analytics-table{table-layout:auto}.member-table-read{min-width:0;width:100%;table-layout:auto;font-size:14px}.member-table-read colgroup{display:none}.member-table-read thead{display:none}.member-table-read,.member-table-read tbody,.member-table-read tr,.member-table-read td{display:block;width:100%}.member-table-read tr{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:12px}.member-table-read tbody tr:hover{background:var(--surface)}.member-table-read td{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:5px 0;border:0;white-space:normal;text-align:right}.member-table-read td::before{content:attr(data-label);color:var(--muted);font-size:13px;font-weight:600;text-align:left;flex:none}.member-table-read .member-actions{justify-content:flex-end;padding-top:10px}.member-table-read .member-actions::before{content:""}.member-table-read .member-actions:empty{display:none}.member-table-read-wrap{overflow-x:visible}.records-table tr:hover{background:var(--surface)}.records-table td{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:5px 0;border:0;white-space:normal;text-align:right}.records-table td::before{content:attr(data-label);color:var(--muted);font-size:13px;font-weight:600;text-align:left;flex:none}.records-location{max-width:none;cursor:auto}.records-location span{overflow:visible;text-overflow:clip;white-space:normal}.records-hours,.records-actions{text-align:right}.records-actions{padding-top:10px}.records-actions::before{content:""}.records-table td:empty{display:none}[data-tip]:hover::after{display:none}.locked-note{cursor:auto}.locked-note::after{content:attr(data-tip);display:block;margin-top:2px;text-align:right;color:var(--muted);font-size:11px;line-height:1.4;white-space:normal}#duty-grid{--col-date: 76px;--col-shift: 66px;font-size:13px}#duty-grid td,#duty-grid th{padding:6px 3px;height:52px}#duty-grid .day-date,#duty-grid .day-weekday{display:block}#duty-grid .day-weekday{margin-left:0;font-size:11px}#duty-grid .occupant .annot{display:block;margin-left:0;font-size:10px;line-height:1.2;white-space:nowrap}}.empty{color:var(--muted);padding:28px 0;font-size:14px}.empty-state{max-width:520px;margin:48px auto;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:32px 28px}.empty-state h2{margin:0 0 12px}.empty-state p{color:var(--ink);line-height:1.8;margin:0 0 12px}.empty-state .empty-state-note{color:var(--muted);font-size:14px}.mainnav{display:flex;background:#f1f5f9;border-bottom:1px solid var(--line);padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mainnav::-webkit-scrollbar{display:none}.mainnav-link{padding:12px 16px;display:block;white-space:nowrap;flex:0 0 auto;text-decoration:none;color:var(--ink)}.mainnav-link.is-here{color:var(--navy);font-weight:600;box-shadow:inset 0 -3px 0 var(--navy)}.mainnav-badge-wrap{position:relative;display:flex;align-items:center;flex:0 0 auto}.nav-badge{position:absolute;top:5px;right:0;min-width:18px;height:18px;padding:0 5px;background:var(--locked);color:white;border-radius:9px;font-size:11px;font-weight:700;line-height:18px;text-align:center}.rec-mark{margin-left:4px;font-size:13px;cursor:help}.claim-request{margin-top:24px;border:2px solid #d9a300;border-radius:8px;background:#fffdf5;overflow:hidden}.claim-request summary{cursor:pointer;padding:14px 16px;background:var(--warn-bg);color:#6b4d09;font-size:16px;font-weight:700;list-style:none;display:flex;align-items:center;gap:8px}.claim-request summary:hover{background:#fcd34d}.claim-request summary::before{content:"＋";font-size:20px;line-height:1}.claim-request[open] summary::before{content:"−"}.claim-request summary::-webkit-details-marker{display:none}.claim-request>*:not(summary){padding-left:16px;padding-right:16px}.claim-request>form{padding-bottom:16px}.claim-divisions{display:flex;gap:10px;margin-top:6px}.claim-divisions label span{white-space:nowrap}.claim-divisions label{display:flex;flex-direction:row;align-items:center;gap:8px;flex:0 0 auto;padding:10px 16px;border:1px solid var(--rule);border-radius:6px;background:var(--surface);cursor:pointer;font-weight:600}.claim-divisions label:hover{border-color:var(--navy)}.claim-divisions label:focus-within{border-color:var(--navy);box-shadow:0 0 0 2px #dbeafe}.claim-divisions label input[name="divisions[]"]{width:18px;height:18px;flex:0 0 auto;margin:0}.detached-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.detached-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,0.55);border-radius:6px;padding:6px 6px 6px 12px}.detached-list form{margin:0}.impersonating{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#4c1d95;color:#ede9fe;padding:10px 16px;border-bottom:3px solid #a78bfa;font-size:14px}.impersonating strong{color:#fff}.impersonating-stop{background:#ede9fe;color:#4c1d95;border:none;padding:6px 14px;border-radius:4px;font-weight:600;cursor:pointer;white-space:nowrap}.impersonating-stop:hover{background:#fff}.limits-table{width:100%;min-width:530px;table-layout:fixed;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px}.limits-table th,.limits-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}.limits-table thead th{background:#f8fafc;font-size:12px;font-weight:600;color:var(--muted)}.limits-table tbody tr:last-child td{border-bottom:none}.limits-table .num{text-align:right;font-variant-numeric:tabular-nums}.limits-table .muted{color:var(--muted)}.limits-table .spent{color:var(--locked);font-weight:700}.limit-input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font-size:14px;text-align:right}.ann-list,.msg-list{display:flex;flex-direction:column;gap:12px}.ann,.msg{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:8px;padding:14px 16px}.ann[data-state="live"]{border-left-color:var(--open)}.ann[data-state="draft"]{border-left-color:var(--rule);background:var(--page)}.ann[data-state="expired"]{border-left-color:var(--line);opacity:0.6}.ann header,.msg header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ann footer,.msg footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--page)}.ann-actions{display:flex;gap:6px;flex-wrap:wrap}.ann-meta,.msg-time{color:var(--muted);font-size:12px}.ann-body p,.msg-body p{margin:0 0 6px;line-height:1.7;font-size:15px}.ann-body p:last-child,.msg-body p:last-child{margin-bottom:0}.ann-body,.msg-body{overflow-wrap:anywhere}.ann-banner{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(180deg, #fffaf0 0%, #fff6e3 100%);border:1px solid #e8c88a;border-left:4px solid #d99a00;border-radius:8px;padding:14px 16px;margin-bottom:10px;color:#6b4d09;box-shadow:0 1px 3px rgba(180,130,20,0.1)}.ann-banner-body{flex:1;min-width:0;overflow-wrap:anywhere}.ann-banner-body p{margin:0 0 4px;line-height:1.7;font-size:15px}.ann-banner-body p:last-child{margin-bottom:0}.ann-banner-close{margin:0}.ann-banner-close button{background:none;border:none;cursor:pointer;color:#a17c22;font-size:15px;line-height:1;padding:4px 8px;border-radius:5px}.ann-banner-close button:hover{background:rgba(180,130,20,0.14);color:#6b4d09}.msg-unread{border-left-color:var(--locked)}.msg-contact{font-size:13px;color:var(--navy);font-weight:600}.msg-nocontact{color:var(--muted);font-weight:400;font-style:italic}.msg-time{margin-left:auto}.field{display:block;margin-bottom:16px}.field>span{display:block;margin-bottom:6px;font-size:14px;font-weight:600}.field textarea,.field input[type="date"]{width:100%;max-width:640px;padding:9px 11px;border:1px solid var(--rule);border-radius:6px;font-size:15px;font-family:inherit}.field textarea{resize:vertical;line-height:1.7}.field .hint{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.login-page{min-height:100vh;margin:0;background:radial-gradient(1200px 600px at 50% -10%, rgba(56,100,168,0.35), transparent 60%),radial-gradient(800px 500px at 15% 110%, rgba(23,60,120,0.45), transparent 65%),linear-gradient(180deg, #0a1628 0%, #0d1b30 45%, #08111f 100%);color:#e8eef7}.login{max-width:380px;margin:0 auto;padding:56px 24px 72px;text-align:center}.login-mark{width:108px;height:108px;border-radius:24px;box-shadow:0 0 0 1px rgba(255,255,255,0.08),0 16px 48px rgba(0,0,0,0.5),0 0 60px rgba(255,196,0,0.12);margin-bottom:24px}.login-name{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.login-name h1{flex:0 1 auto}.login-name h1{margin:0;font-size:30px;font-weight:700;letter-spacing:1px;color:#ffffff;text-shadow:0 2px 24px rgba(120,170,255,0.25)}.login-beta{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#ffd479;background:rgba(255,196,0,0.12);border:1px solid rgba(255,196,0,0.35);border-radius:10px;padding:3px 8px;transform:translateY(-1px)}.login-org{margin:0;font-size:15px;letter-spacing:0.04em;color:rgba(232,238,247,0.72)}.login-branch{margin:6px 0 34px;font-size:18px;font-weight:600;letter-spacing:0.06em;color:#dbe8fa}.login-branch span{color:rgba(232,238,247,0.3);margin:0 4px}.login-google{display:block;width:100%;margin:0}.login-google button,.login-google input[type="submit"]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:#ffffff;color:#1f1f1f;border:none;border-radius:10px;padding:16px 20px;font-size:17px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,0.35);transition:transform 0.12s ease, box-shadow 0.12s ease}.login-google button:hover{transform:translateY(-1px);box-shadow:0 10px 32px rgba(0,0,0,0.45)}.login-google button:active{transform:translateY(0)}.login-google-g{width:20px;height:20px;flex:none}.login-note{margin:18px 0 0;font-size:14px;line-height:1.8;color:rgba(232,238,247,0.75)}.login-dev{margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px}.login-dev span{color:rgba(232,238,247,0.5)}.login-dev a{color:#8ab4f8;text-decoration:none;font-weight:600}.login-dev a:hover{text-decoration:underline}.login-message{margin-top:36px;text-align:left;border:1px solid rgba(255,255,255,0.1);border-radius:12px;background:rgba(255,255,255,0.03);backdrop-filter:blur(2px)}.login-message summary{padding:15px 16px;font-size:15px;font-weight:600;color:rgba(232,238,247,0.9);cursor:pointer;list-style:none;text-align:center}.login-message summary::-webkit-details-marker{display:none}.login-message summary::after{content:" ▾";color:rgba(232,238,247,0.4);font-weight:400}.login-message[open] summary::after{content:" ▴"}.login-message[open] summary{border-bottom:1px solid rgba(255,255,255,0.08)}.login-message>.hint{padding:0 16px;margin:14px 0 4px}.login-message>.hint{font-size:14px;line-height:1.7;color:rgba(232,238,247,0.7)}.login-message form{padding:0 16px 18px}.login-message label{display:block;margin-top:14px}.login-message label>span{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:rgba(232,238,247,0.92)}.login-message label em{color:#ff9b9b;font-style:normal}.login-message input[type="text"],.login-message textarea{width:100%;padding:12px 12px;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.12);border-radius:8px;color:#e8eef7;font-size:16px;font-family:inherit}.login-message input[type="text"]:focus,.login-message textarea:focus{outline:none;border-color:rgba(138,180,248,0.6);box-shadow:0 0 0 3px rgba(138,180,248,0.12)}.login-message input::placeholder,.login-message textarea::placeholder{color:rgba(232,238,247,0.42)}.login-message textarea{resize:vertical}.login-message input[type="submit"]{width:100%;margin-top:18px;padding:13px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:8px;color:#e8eef7;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer}.login-message input[type="submit"]:hover{background:rgba(255,255,255,0.16)}.login-page .banners{background:transparent;border-bottom:none}.login-page .banners .banner{background:#1c2c47;border-bottom:1px solid rgba(255,255,255,0.14);border-left:4px solid rgba(255,255,255,0.35);color:#f2f6fc;font-size:15px;font-weight:500;padding:14px 16px;box-shadow:0 4px 16px rgba(0,0,0,0.35)}.login-page .banners .banner-ok{background:#15382a;border-left-color:#34d399;color:#d9fbe8}.login-page .banners .banner-alert{background:#451c22;border-left-color:#f87171;color:#ffe0e0}.login-page .banners .banner-notice,.login-page .banners .banner-warn{background:#40331a;border-left-color:#fbbf24;color:#ffeecb}.login-page .banners .banner-dismiss{color:inherit;opacity:0.7;font-size:16px}.login-page .banners .banner-dismiss:hover{opacity:1;background:rgba(255,255,255,0.18)}
