.admin-tools-trigger[hidden]{display:none!important}.admin-tools-dialog{position:fixed;inset:0 0 0 auto;margin:0;max-width:min(520px,100vw);width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;background:transparent;color:var(--text-primary);overflow:visible}.admin-tools-dialog::backdrop{background:#0614227a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-tools-dialog .management{display:block;height:100%;margin:0;padding:26px;overflow:auto;border-radius:0;border-left:1px solid var(--border-strong);box-shadow:-22px 0 60px #03101d38}.admin-tools-dialog .panel-head{align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.admin-tools-dialog .manage-controls{align-items:stretch;flex-wrap:wrap}.admin-tools-dialog .manage-controls label{flex:1;min-width:190px}.admin-tools-dialog #manageRows{padding-bottom:40px}.admin-tools-dialog[open] .management{animation:drawerIn .22s ease-out both}@keyframes drawerIn{0%{opacity:.65;transform:translate(18px)}to{opacity:1;transform:none}}.fleet-grid,.fleet-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fleet-card{display:grid;grid-template-columns:minmax(124px,29%) minmax(0,1fr);padding:0;min-height:326px;overflow:hidden;border-radius:16px}.fleet-card:before,.fleet-card:after{display:none}.vessel-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;padding:18px;text-align:center;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 35%,rgba(144,199,219,.13),transparent 54%),linear-gradient(145deg,rgba(147,194,213,.055),transparent);color:var(--text-muted);font-size:.73rem;letter-spacing:.08em;line-height:1.5}.portrait-mark{display:grid;place-items:center;width:68px;height:68px;border:1px solid var(--line-strong);border-radius:50%;font-size:1.8rem;color:var(--accent);box-shadow:inset 0 0 0 6px #89c0d712}.vessel-content{min-width:0;padding:17px 20px 16px;display:flex;flex-direction:column}.vessel-heading{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.vessel-title{min-width:0}.fleet-card .vessel-class{margin:0;font-size:.67rem;letter-spacing:.08em;line-height:1.35}.fleet-card h4{margin:7px 0 0;font-size:clamp(1.25rem,1.7vw,1.55rem);line-height:1.16;overflow-wrap:anywhere}.fleet-card .vessel-cn{margin:3px 0 0;font-size:.91rem}.vessel-edit{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:1.05rem}.vessel-condition{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-top:14px}.vessel-condition .status{padding:4px 9px;border:1px solid var(--line-strong);border-radius:100px;font-size:.73rem;background:#88c5db14;line-height:1.35}.vessel-rank{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.vessel-rank strong{font-size:1rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.fleet-card .card-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:14px 0 0;font-size:.73rem}.fleet-card .card-parts>div{min-width:0;display:grid;gap:2px;padding:6px 0;border-top:1px solid var(--line)}.fleet-card .card-parts span{display:block;border:0;padding:0;color:var(--text-muted)}.fleet-card .card-parts b{font-size:.81rem;text-align:left;line-height:1.3;overflow-wrap:anywhere}.fleet-card .mini-stats{margin:auto 0 0;padding-top:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.fleet-card .mini-stats>div{padding:0 5px;text-align:center;border-right:1px solid var(--line)}.fleet-card .mini-stats>div:first-child{padding-left:0}.fleet-card .mini-stats>div:last-child{border:0;padding-right:0}.fleet-card .mini-stats span{display:block;white-space:normal;line-height:1.25;font-size:.68rem}.fleet-card .mini-stats b{display:block;margin-top:3px;font-variant-numeric:tabular-nums;font-size:.86rem}.part-plate{position:relative}.part-plate:before{content:"";position:absolute;right:9px;top:10px;width:21px;height:21px;border:1px solid var(--line);border-radius:4px;background:#8bbed40b}html[data-theme=light] .main{padding-inline:clamp(18px,2.4vw,38px)}html[data-theme=light] .sidebar{background:linear-gradient(180deg,#f6fbfeeb,#e2f0f8e0);border-right-color:#70a3bc3d;box-shadow:inset -1px 0 #fff,12px 0 36px #528cab12}html[data-theme=light] .brand{grid-template-columns:82px minmax(0,1fr);gap:15px;padding:16px 7px 24px}html[data-theme=light] .brand-mark{width:82px;height:82px;border-radius:12px;border-color:#a8c6d6;box-shadow:0 0 0 5px #ffffffad,0 13px 28px #4382a429}html[data-theme=light] .brand h1{font-size:1.25rem;line-height:1.35}html[data-theme=light] .nav{gap:8px}html[data-theme=light] .nav-item{border-left:0;border-radius:10px;min-height:48px;padding-inline:14px}html[data-theme=light] .nav-item.is-active{background:linear-gradient(90deg,#c3e3f2ad,#fafeff8f);box-shadow:inset 0 0 0 1px #7cb0ca5e,inset 0 1px #fff,0 5px 14px #518da917}html[data-theme=light] .nav-item.is-active:before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:2px;background:var(--selected)}html[data-theme=light] .metric-row{border-radius:16px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}html[data-theme=light] .fleet-card{background:linear-gradient(135deg,#ffffffeb,#e7f4fbcc);border-color:#7ea9bf6e;box-shadow:inset 0 1px #fff,inset 1px 0 #ffffff9e,0 12px 30px #4a7d9717;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}html[data-theme=light] .vessel-portrait{background:radial-gradient(circle at 50% 27%,rgba(196,231,247,.92),transparent 63%),linear-gradient(148deg,#f8fdffd1,#daebf5ad);border-color:#7ea9bf4d}html[data-theme=light] .portrait-mark{background:#ffffff7a;color:#6b9bb2}html[data-theme=light] .vessel-condition .status{background:#e5f5fad6;border-color:#9ec6d8;color:#315e75}html[data-theme=light] .panel,html[data-theme=light] .benefit-card{border-radius:16px;box-shadow:inset 0 1px #fff,0 10px 30px #447b9814}html[data-theme=light] .admin-tools-dialog .management{background:linear-gradient(150deg,#fbfefffa,#e8f4faf7);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}html[data-theme=light] .benefit-table{border-radius:16px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}html[data-theme=light] .queue-status{border-radius:100px}html[data-theme=light] .modal-card{border-radius:20px}html[data-theme=light] .part-plate{border-radius:9px}html[data-theme=light] .part-plate:before{background:#f8fdffb3;border-color:#adccdc}@media(max-width:1240px){.fleet-grid,.fleet-detail-grid{grid-template-columns:1fr}.fleet-card{grid-template-columns:minmax(150px,30%) 1fr}}@media(max-width:760px){.fleet-card{grid-template-columns:minmax(90px,27%) minmax(0,1fr);min-height:0}.vessel-content{padding:14px}.vessel-portrait{padding:9px;font-size:.62rem}.portrait-mark{width:47px;height:47px;font-size:1.25rem}.fleet-card .mini-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.fleet-card .mini-stats span{font-size:.59rem}.fleet-card .mini-stats b{font-size:.76rem}.fleet-card .card-parts{gap:0 6px}.fleet-card .card-parts b{font-size:.73rem}.admin-tools-dialog{max-width:100vw}.admin-tools-dialog .management{padding:18px}html[data-theme=light] .brand{grid-template-columns:58px 1fr;gap:12px;padding:8px 6px 12px}html[data-theme=light] .brand-mark{width:58px;height:58px}html[data-theme=light] .nav-item.is-active:before{display:none}}@media(max-width:420px){.fleet-card{grid-template-columns:1fr}.vessel-portrait{min-height:94px;flex-direction:row;gap:10px;border-right:0;border-bottom:1px solid var(--line)}.portrait-mark{width:40px;height:40px}.vessel-content{padding:14px}.fleet-card .mini-stats span{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.admin-tools-dialog[open] .management{animation:none}}.admin-tools-dialog .management[hidden]{display:none}.admin-tools-dialog:not([open]){display:none}:root{--control-radius:10px;--content-radius:16px;--dialog-radius:20px}.ghost-btn,.small-btn,.chip,.icon-btn,.theme-toggle,.primary-btn,.danger-btn{border-radius:var(--control-radius)}.status,.role-badge,.badge,.queue-status{border-radius:999px}.fleet-card,.panel,.benefit-card,.benefit-table{border-radius:var(--content-radius)}.modal-card{border-radius:var(--dialog-radius)}.topbar{min-height:78px;height:auto;padding-block:11px}.topbar .eyebrow{margin:0 0 2px;font-size:.66rem;letter-spacing:.16em}.topbar h2{font-size:clamp(1.35rem,1.75vw,1.72rem);line-height:1.15}.view{padding-top:10px}.operations-band{min-height:30px;padding:4px 0}.operations-band .section-kicker{font-size:.67rem;letter-spacing:.11em;opacity:.76}.section-head{margin:20px 0 11px;padding-bottom:9px}html[data-theme=light] .topbar{box-shadow:0 5px 15px #4b7f9b0b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}html[data-theme=light] .brand{grid-template-columns:78px minmax(0,1fr);gap:13px;padding:12px 6px 19px}html[data-theme=light] .brand-mark{width:78px;height:78px;border-radius:14px;box-shadow:0 0 0 4px #ffffffbd,0 9px 21px #4382a421}html[data-theme=light] .brand-kicker{opacity:.72;letter-spacing:.105em;font-size:.62rem}html[data-theme=light] .nav-item.is-active{border-radius:10px}.fleet-card{grid-template-columns:minmax(88px,22%) minmax(0,1fr);min-height:310px}.vessel-portrait{position:relative;overflow:hidden;padding:12px;font-size:.67rem;letter-spacing:.045em}.vessel-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.vessel-portrait:has(img):after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#b3e2f629,#5da1c114);pointer-events:none}.vessel-portrait:has(img)>span{z-index:1}.vessel-portrait:has(img)>span:not(.portrait-mark){position:absolute;left:10px;bottom:9px;padding:3px 7px;border-radius:999px;background:#eef8fcd1;color:#345a70;font-size:.6rem}html[data-theme=light] .fleet-card{border-color:#7ca6bd61;box-shadow:inset 0 1px #fffffff5,0 7px 21px #4a7d9711;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html[data-theme=light] .fleet-card:hover,html[data-theme=light] .fleet-card:focus-within{box-shadow:inset 0 1px #fff,0 10px 24px #4482a21c;transform:translateY(-1px)}html[data-theme=light] .vessel-portrait{background:linear-gradient(155deg,#ebf7fce0,#d9ebf4c7);border-color:#7ea9bf42}.vessel-edit{position:relative;isolation:isolate}.vessel-edit:after{content:"編輯艇況";position:absolute;right:calc(100% + 8px);top:50%;transform:translate(4px,-50%);padding:5px 8px;white-space:nowrap;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-elevated,#f8fcfe);color:var(--text-primary);font-size:.7rem;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;box-shadow:0 4px 12px #375f751a}.vessel-edit:hover:after,.vessel-edit:focus-visible:after{opacity:1;transform:translateY(-50%)}.metric{position:relative;isolation:isolate;overflow:hidden}.metric:after{content:attr(data-mark);position:absolute;z-index:-1;right:13px;top:50%;transform:translateY(-50%);font-size:2.2rem;line-height:1;color:var(--accent);opacity:.105;pointer-events:none}html[data-theme=light] .metric-row{border-radius:16px;box-shadow:inset 0 1px #fffffffa,0 5px 16px #528eab0e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html[data-theme=light] .metric{padding-block:14px}html[data-theme=light] .benefits-panel{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}html[data-theme=light] .benefits-panel .panel-head{padding:0 0 11px;border-bottom:1px solid rgba(96,137,159,.27)}html[data-theme=light] .benefit-list{padding:0 12px;background:linear-gradient(100deg,#ffffff9c,#ffffff45);border-left:2px solid rgba(88,153,182,.38);border-radius:0 12px 12px 0}html[data-theme=light] .benefit-row{padding-block:12px}html[data-theme=light] .tactical-panel{background:linear-gradient(155deg,#e2f1f8d6,#f4f9fce6);border-color:#72a0b961;box-shadow:inset 0 1px #fff,0 7px 20px #4b829e12}html[data-theme=light] .tactical-panel .map-board{border-radius:12px;box-shadow:inset 0 1px #ffffffd1}html[data-theme=light] .map-caption{background:#f8fcfebd;border-radius:9px}html[data-theme=light] .section-head{border-color:#60899f38}html[data-theme=light] .ghost-btn,html[data-theme=light] .small-btn,html[data-theme=light] .chip,html[data-theme=light] .icon-btn,html[data-theme=light] .theme-toggle,html[data-theme=light] .primary-btn{border-radius:10px}@media(max-width:760px){.topbar{padding-block:12px}.fleet-card{grid-template-columns:minmax(78px,22%) minmax(0,1fr)}.vessel-portrait{padding:8px}.metric:after{right:8px;font-size:1.7rem}}@media(max-width:420px){.fleet-card{grid-template-columns:1fr}.vessel-portrait{min-height:94px;flex-direction:row}}@media(prefers-reduced-motion:reduce){.vessel-edit:after{transition:none}}.fleet-grid,.fleet-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fleet-card{grid-template-columns:minmax(84px,20%) minmax(0,1fr);min-height:270px}.vessel-content{padding:13px 16px 12px}.fleet-card h4{margin-top:4px;font-size:clamp(1.14rem,1.4vw,1.35rem)}.fleet-card .vessel-class{font-size:.62rem;letter-spacing:.065em}.fleet-card .vessel-cn{margin-top:2px;font-size:.85rem}.vessel-edit{width:34px;height:34px}.vessel-condition{margin-top:9px;gap:5px}.vessel-condition .status{padding:3px 8px;font-size:.7rem}.fleet-card .card-parts{margin-top:9px;gap:0 10px}.fleet-card .card-parts>div{padding:4px 0}.fleet-card .card-parts span{font-size:.67rem}.fleet-card .card-parts b{font-size:.77rem}.fleet-card .mini-stats{padding-top:8px}.fleet-card .mini-stats>div{padding-inline:4px}.fleet-card .mini-stats span{font-size:.64rem}.fleet-card .mini-stats b{font-size:.82rem}html[data-theme=dark] .vessel-portrait img{filter:brightness(1.12) saturate(.94)}html[data-theme=light] .vessel-portrait:has(img):after{background:linear-gradient(145deg,#c0e8f81f,#77bdd709)}.vessel-portrait img{object-position:12% center}@media(max-width:1020px){.fleet-grid,.fleet-detail-grid{grid-template-columns:1fr}}@media(max-width:760px){.fleet-card{grid-template-columns:minmax(76px,20%) minmax(0,1fr);min-height:250px}.vessel-content{padding:12px 13px 11px}.fleet-card .card-parts{gap:0 7px}.fleet-card .mini-stats span{font-size:.62rem}.fleet-card .mini-stats b{font-size:.78rem}}@media(max-width:420px){.fleet-card{grid-template-columns:1fr}.vessel-portrait{min-height:78px;flex-direction:row;border-right:0;border-bottom:1px solid var(--line)}}[data-new-benefit][hidden],.benefit-field[hidden],#benefitMemberGroup[hidden],#benefitVesselGroup[hidden],#benefitProgressGroup[hidden]{display:none!important}.panel-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-group{flex-wrap:wrap;align-items:center}.benefit-dialog{max-width:min(700px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}.benefit-form{display:flex;flex-direction:column;max-height:calc(100dvh - 20px);overflow:visible;padding:0}.benefit-form>.modal-head{flex:none;padding:20px 24px 15px;margin:0;border-bottom:1px solid var(--line)}.benefit-form-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:13px 24px 24px}.benefit-form-footer{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 24px 18px;border-top:1px solid var(--line);background:var(--surface-elevated);border-radius:0 0 20px 20px}.benefit-form-footer .primary-btn{width:auto;min-width:140px;margin:0}.benefit-field{display:grid;gap:7px;margin:12px 0;color:var(--text-secondary);font-size:.9rem}.benefit-field>label,.benefit-form label.benefit-field{font-size:.9rem;letter-spacing:0}.benefit-form-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px}.benefit-field textarea{width:100%;min-height:75px;resize:vertical;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-elevated);color:var(--text-primary);font:inherit}.field-note{display:block;color:var(--text-muted);font-size:.78rem;line-height:1.45}.field-error{color:var(--error);font-size:.82rem;line-height:1.5;margin:3px 0}.field-error[hidden]{display:none}.assist-label{display:block!important;margin:0 0 6px!important;font-size:.9rem!important;letter-spacing:0!important;color:var(--text-secondary)!important}.assist-control{display:flex;align-items:center;position:relative}.benefit-form .assist-control input{padding-right:52px;min-height:44px;font-size:1rem}.assist-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:1.2rem;cursor:pointer}.assist-clear:hover,.assist-clear:focus-visible{background:var(--surface-hover);color:var(--primary)}.assist-clear[hidden]{display:none}.assist-list{max-height:232px;overflow-y:auto;margin-top:5px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-elevated);box-shadow:0 13px 30px #0a1f2f2e;position:relative;z-index:8}.assist-list[hidden]{display:none}.assist-option{display:flex;align-items:center;gap:11px;min-height:54px;padding:7px 12px;cursor:pointer;border-bottom:1px solid var(--line);color:var(--text-primary)}.assist-control input:focus-visible,.assist-retry:focus-visible{outline:2px solid var(--selected);outline-offset:2px}.assist-option:last-child{border-bottom:0}.assist-option:hover,.assist-option[aria-selected=true]{background:var(--surface-hover);box-shadow:inset 3px 0 var(--selected)}.assist-option img,.assist-glyph{flex:none;width:36px;height:36px;object-fit:cover;border-radius:8px;background:var(--background-deep);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent)}.assist-option img[hidden]{display:none}.assist-option-copy{min-width:0;display:grid;gap:1px}.assist-option-copy strong{font-size:.88rem;font-weight:600}.assist-option-copy small{font-size:.74rem;color:var(--text-secondary)}.assist-option em{font-size:.68rem;color:var(--text-muted);font-style:normal;margin-left:auto;text-align:right;max-width:38%;overflow-wrap:anywhere}.assist-message{padding:14px;color:var(--text-secondary);font-size:.84rem}.record-picker-field{min-width:0}.record-picker-field .assist-control input{padding-right:52px;min-height:44px}.assist-retry{margin-left:9px;background:transparent;border:1px solid var(--line-strong);border-radius:8px;color:var(--primary);padding:5px 9px;cursor:pointer}.benefit-edit-fields{display:grid;grid-template-columns:150px 1fr;align-items:end;gap:16px;margin-top:10px}.benefit-edit-fields fieldset{padding:0;margin:0;border:0;min-width:0}.benefit-edit-fields legend{font-size:.88rem;color:var(--text-secondary);margin-bottom:8px}.status-segments{display:flex;flex-wrap:wrap;gap:6px}.status-choice{display:inline-flex!important;margin:0!important;position:relative;cursor:pointer}.status-choice input{position:absolute;opacity:0;width:1px!important;height:1px;pointer-events:none}.status-choice span{padding:6px 10px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-secondary);background:var(--surface);font-size:.78rem;white-space:nowrap}.status-choice input:checked+span{background:var(--surface-hover);border-color:var(--selected);color:var(--primary);box-shadow:inset 0 0 0 1px var(--selected)}.status-choice input:focus-visible+span{outline:2px solid var(--selected);outline-offset:2px}.planner-vessel-visual,.vessel-inline-visual{display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 12px;margin-top:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.8rem;color:var(--text-secondary)}.planner-vessel-visual img,.vessel-inline-visual img{height:70px;width:130px;object-fit:contain;object-position:center;border-radius:7px}.vessel-inline-visual{width:130px;height:74px;flex:none;margin:0;justify-content:center}.vessel-inline-visual img{width:100%;height:100%}.vessel-inline-visual small{font-size:.7rem}.loadout-vessel{display:flex;align-items:center;gap:15px}html[data-theme=light] .assist-list{background:#fafefffa;border-color:#99bacb;box-shadow:0 11px 25px #437a9726}html[data-theme=light] .benefit-form-footer{background:#f2f9fcfa}@media(max-width:760px){.benefit-form>.modal-head{padding:14px 16px}.benefit-form-scroll{padding:10px 16px 20px}.benefit-form-footer{padding:12px 16px}.benefit-form-grid,.benefit-edit-fields{grid-template-columns:1fr;gap:2px}.assist-option em{max-width:31%;font-size:.63rem}.loadout-vessel{gap:8px}.vessel-inline-visual{width:90px;height:60px}.planner-vessel-visual img{width:90px;height:55px}}.role-management{margin:22px 0 24px;padding:18px 0 20px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.role-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.role-heading h4,.manage-label{margin:4px 0 0;font-size:1.04rem;color:var(--text-primary)}.role-scope{border:1px solid var(--line-strong);border-radius:100px;padding:4px 9px;color:var(--text-secondary);font-size:.72rem;white-space:nowrap}.role-management>.muted{margin:10px 0 15px;line-height:1.55;font-size:.8rem}.role-label{display:block;margin-bottom:7px;color:var(--text-secondary);font-size:.8rem}#roleSearch{display:block;width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-elevated);color:var(--text-primary);font:inherit}#roleSearch::placeholder{color:var(--text-muted)}.role-status{min-height:1.3em;margin:11px 0;color:var(--text-secondary);font-size:.78rem}.role-list{list-style:none;margin:0;padding:0}.role-row{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 0;border-top:1px solid var(--line)}.role-avatar{flex:none;display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-hover);color:var(--text-secondary)}.role-avatar img{width:100%;height:100%;object-fit:cover}.role-member{display:grid;gap:3px;min-width:0;flex:1}.role-member strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.role-member small{color:var(--text-muted)}.role-action{flex:none;min-height:44px;padding:8px 10px;white-space:nowrap}.role-empty{padding:16px 0;color:var(--text-secondary);font-size:.84rem;line-height:1.65}.role-error{padding:10px;border-left:3px solid #bf6378;color:var(--text-primary);background:#c160721f;font-size:.85rem}.manage-label{margin:0 0 13px}#confirmRole .modal-card{border-radius:20px}#confirmRoleMessage{line-height:1.65;overflow-wrap:anywhere}html[data-theme=light] #roleSearch{background:#fffc;border-color:#a5c6d7;box-shadow:inset 0 1px #ffffffe6}html[data-theme=light] .role-scope{background:#ddf1f98c;color:#426a7f}html[data-theme=light] .role-avatar{background:#e4f3f9}#roleSearch:focus-visible,.role-action:focus-visible,#roleRetry:focus-visible,#confirmRole button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media(max-width:380px){.role-management{padding-block:15px}.role-row{gap:7px}.role-action{padding-inline:7px;font-size:.74rem}}.return-panel{margin:16px 0 4px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,var(--surface,rgba(13,31,46,.84)),rgba(118,189,222,.055));box-shadow:inset 0 1px #ffffff21,0 8px 26px #10384c0b}.return-panel .panel-head{margin-bottom:8px}.return-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.schedule-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:.8rem;font-variant-numeric:tabular-nums}.schedule-row>div{display:flex;gap:7px;align-items:baseline;min-width:0}.schedule-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-row>div span{color:var(--text-muted);white-space:nowrap}.schedule-row .status{justify-self:end;border-radius:999px}.schedule-row time{color:var(--text-secondary);grid-column:1/-1}.benefit-delete{margin-right:auto;color:var(--danger,#c46162);border-color:currentColor}.benefit-delete:hover,.benefit-delete:focus-visible{background:#c261621f}#confirmBenefitDelete .primary-btn{background:#a6424e;border-color:#c46b70;color:#fff}.planner-disclaimer{font-size:.78rem;color:var(--text-muted);line-height:1.5}#ocrVoyageDialog .modal-card{display:grid;gap:14px;max-width:min(560px,calc(100vw - 24px))}#ocrVoyageDialog .modal-card>label{display:grid;gap:8px}#ocrVoyageFile{max-width:100%;padding:12px;border:1px solid var(--line);border-radius:10px}.ocr-paste-target{min-height:88px;padding:16px;border:1px dashed var(--line-strong);border-radius:10px;background:#7fbeda0e;color:var(--text-secondary);display:grid;place-items:center;text-align:center;cursor:text;line-height:1.5}.ocr-paste-target:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-color:var(--primary)}.ocr-paste-preview{display:flex;align-items:center;gap:12px;width:100%;min-width:0;text-align:left}.ocr-paste-preview[hidden]{display:none}.ocr-paste-preview img{width:88px;height:64px;object-fit:contain;border-radius:6px;background:#7caabf1f}.ocr-paste-preview span{overflow-wrap:anywhere;font-size:.83rem}#ocrPasteHint[hidden]{display:none}html[data-theme=light] .ocr-paste-target{background:#e9f7fc99}.ocr-results{max-height:32vh;overflow-y:auto}.ocr-results .schedule-row{grid-template-columns:minmax(0,1fr) auto}.ocr-results time{grid-column:1/-1}.route-sector-map{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#77b4cf13,#1430411f);box-shadow:inset 0 1px #ffffff14}.sector-map-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.8rem}.sector-map-head span{font-size:.72rem;color:var(--text-muted)}.sector-map-svg{display:block;width:100%;max-height:270px;aspect-ratio:1/1;border:1px solid var(--line);border-radius:8px;color:var(--text-muted);background:radial-gradient(ellipse at 48% 45%,#69b8d217,#09172338)}.sector-map-context{fill:#9fbecb2e;stroke:#a4cbdb4d;stroke-width:2}.sector-map-target circle{fill:#b9eaf5;stroke:#4387a1;stroke-width:5}.sector-map-target text{font-size:22px;font-weight:700;text-anchor:middle;dominant-baseline:central;fill:#16384a}.sector-map-axis{font-size:20px;fill:currentColor}.sector-map-legend{display:flex;flex-wrap:wrap;gap:7px}.sector-map-legend span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:.75rem;color:var(--text-secondary)}.sector-map-legend b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#b9eaf5;color:#16384a;font-size:.7rem}.route-sector-map .planner-disclaimer{margin:0;font-size:.72rem}.fleet-card .mini-stats{display:grid;grid-template-columns:1fr;margin:9px 0 0;padding-top:7px;gap:0;border-top:1px solid var(--line)}.fleet-card .mini-stats .stat-line{display:grid;grid-template-columns:minmax(68px,1.35fr) repeat(3,minmax(28px,.65fr));gap:5px;align-items:center;padding:2px 1px;border:0;text-align:right;font-size:.68rem;font-variant-numeric:tabular-nums}.fleet-card .mini-stats .stat-line>span:first-child{text-align:left;color:var(--text-secondary)}.fleet-card .mini-stats .stat-head{font-size:.59rem;color:var(--text-muted);padding-bottom:4px}.fleet-card .mini-stats .stat-head>span:first-child{color:transparent}.fleet-card .mini-stats .stat-line b{display:block;margin:0;padding:0;border:0;font-size:.7rem;font-weight:500;color:var(--text-secondary)}.fleet-card .mini-stats .stat-line .stat-extra,.performance-row .performance-extra{color:var(--text-muted)}.fleet-card .mini-stats .stat-line .stat-total{color:var(--text-primary);font-weight:700}.performance-summary{max-height:none;overflow:visible}.performance-grid,.planner-stat-grid{display:grid;gap:0;font-variant-numeric:tabular-nums}.performance-row,.planner-stat-line{display:grid;grid-template-columns:minmax(105px,1.5fr) repeat(3,minmax(42px,.62fr));gap:10px;align-items:center;padding:6px 4px;border-top:1px solid var(--line);text-align:right;font-size:.8rem}.performance-row>span:first-child,.planner-stat-line>span:first-child{text-align:left;color:var(--text-secondary)}.performance-row.is-heading,.planner-stat-line.is-heading{border-top:0;padding-top:2px;color:var(--text-muted);font-size:.72rem}.performance-row small{display:block;color:var(--text-muted);font-size:.62rem}.performance-row strong,.planner-stat-line strong{color:var(--text-primary);font-size:.91rem}.planner-stat-grid{width:min(100%,430px);margin:12px auto}.planner-stat-line{font-size:.84rem}html[data-theme=light] .return-panel{background:linear-gradient(145deg,#ffffffe0,#def2fba8);border-color:#88b3c863;box-shadow:inset 0 1px #fff,0 8px 23px #3a74910f}.sea-chart{position:relative;width:min(100%,350px);aspect-ratio:1;overflow:hidden;border-radius:10px;box-shadow:0 4px 18px #0a243233;background:#476d70}.sea-chart img,.sea-chart svg{position:absolute;inset:0;display:block;width:100%;height:100%}.sea-chart img{object-fit:contain}.sea-chart svg{overflow:visible}.chart-target circle{fill:#ebf9ff;stroke:#155878;stroke-width:2.5;filter:drop-shadow(0 1px 3px rgba(1,18,35,.85))}.chart-target text{font:700 12px system-ui,sans-serif;text-anchor:middle;dominant-baseline:central;fill:#16455f;pointer-events:none}.route-sector-map .sea-chart{justify-self:center}.dashboard-recommendation{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,42%);gap:12px;align-items:center;padding:14px}.dashboard-recommendation .sea-chart{width:100%;max-width:230px;justify-self:end}.recommendation-copy h4{font-size:1rem;line-height:1.35;margin:7px 0;color:var(--text-primary)}.recommendation-copy>p:not(.section-kicker){font-size:.83rem;color:var(--text-secondary);line-height:1.6;margin:6px 0}.recommendation-meta{display:block;color:var(--text-muted);font-size:.72rem;line-height:1.6}.tactical-panel .map-board{background:linear-gradient(145deg,#70adc121,#0f314121);color:var(--text-secondary)}.tactical-panel .map-caption{align-items:center;gap:10px;line-height:1.5}.tactical-panel .map-caption .small-btn{flex:none;min-height:40px;cursor:pointer}.route-empty{margin:0;padding:22px;color:var(--text-secondary);line-height:1.7}html[data-theme=light] .tactical-panel .map-board{background:linear-gradient(145deg,#fbffffd6,#d9eff691);box-shadow:inset 0 1px #fff}html[data-theme=light] .sea-chart{box-shadow:0 6px 18px #3a708126}@media(max-width:480px){.dashboard-recommendation{grid-template-columns:1fr}.dashboard-recommendation .sea-chart{justify-self:center;width:min(100%,300px)}.tactical-panel .map-caption{flex-wrap:wrap}.tactical-panel .map-caption .small-btn{width:100%}}html[data-theme=light] .fleet-card .mini-stats .stat-total,html[data-theme=light] .performance-row strong,html[data-theme=light] .planner-stat-line strong{color:#155676}@media(max-width:760px){.return-schedule{grid-template-columns:1fr}.return-panel{padding:15px}.schedule-row{min-height:62px}.performance-row,.planner-stat-line{grid-template-columns:minmax(90px,1.2fr) repeat(3,minmax(38px,.6fr));gap:6px;font-size:.74rem}.fleet-card .mini-stats .stat-line{grid-template-columns:minmax(62px,1.35fr) repeat(3,minmax(27px,.65fr));gap:4px}}
