:root{font-family:Segoe UI,Helvetica,Arial,Noto Sans TC,sans-serif;color:#050505;background:#f0f2f5;font-synthesis:none;--fb-primary: #0866ff;--fb-primary-hover: #075ce5;--fb-bg: #f0f2f5;--fb-surface: #ffffff;--fb-text-primary: #050505;--fb-text-secondary: #65676b;--fb-text-muted: #8a8d91;--fb-disabled-text: #bcc0c4;--fb-control: #e4e6eb;--fb-hover: #f2f2f2;--fb-divider: #ced0d4;--fb-success: #16883f;--fb-danger: #c43131;--fb-warning: #9a5b00;--brand-orange: #ef8a4c;--fb-radius-sm: 6px;--fb-radius-md: 8px;--fb-radius-lg: 12px;--fb-radius-pill: 999px;--fb-shadow-card: 0 1px 2px rgba(0, 0, 0, .1);--fb-shadow-popup: 0 2px 12px rgba(0, 0, 0, .18);--fb-dark-bg: #18191a;--fb-dark-surface: #242526;--fb-dark-control: #3a3b3c;--fb-dark-text-primary: #e4e6eb;--fb-dark-text-secondary: #b0b3b8;--workspace-ink: #edf6f3;--workspace-muted: #93aaa1;--workspace-line: rgba(164, 205, 188, .15);--workspace-panel: rgba(13, 38, 29, .86);--workspace-accent: #69e6ad;--workspace-danger: #ff998f}*{box-sizing:border-box}html{min-width:320px;background:var(--fb-bg)}body{min-width:320px;min-height:100vh;margin:0;background:var(--fb-bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed}.auth-page{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:48px 24px;color:var(--fb-text-primary);background:var(--fb-bg)}.auth-layout{width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,400px);align-items:center;gap:clamp(56px,8vw,96px)}.auth-identity{width:100%;max-width:540px;display:grid;grid-template-columns:152px minmax(0,1fr);align-items:center;gap:30px;text-align:left}.auth-identity__logo-frame{width:152px;height:152px;display:grid;place-items:center;padding:7px;overflow:hidden;border-radius:16px;background:var(--fb-surface);box-shadow:var(--fb-shadow-card)}.auth-identity__logo{width:100%;height:100%;display:block;object-fit:contain}.auth-identity__content{min-width:0}.auth-identity h1{margin:0;font-size:clamp(1.5rem,2.1vw,1.75rem);font-weight:750;line-height:1.3;letter-spacing:-.025em}.auth-identity__english{max-width:500px;margin:9px 0 0;color:var(--fb-text-secondary);font-size:.9375rem;line-height:1.5;letter-spacing:.01em}.auth-identity__accent{display:flex;align-items:center;gap:5px;margin-top:18px}.auth-identity__accent span{height:4px;border-radius:var(--fb-radius-pill)}.auth-identity__accent span:first-child{width:46px;background:var(--fb-primary)}.auth-identity__accent span:last-child{width:18px;background:var(--brand-orange)}.auth-identity__system{display:grid;justify-items:start;gap:5px;margin:13px 0 0}.auth-identity__system-zh{color:var(--fb-text-primary);font-size:1.375rem;font-weight:750;line-height:1.25;letter-spacing:.04em}.auth-identity__system-en{color:var(--fb-primary);font-size:2rem;font-weight:800;line-height:1.15;letter-spacing:-.035em}.auth-panel{width:100%}.auth-card{width:100%;padding:24px;border-radius:var(--fb-radius-md);background:var(--fb-surface);box-shadow:var(--fb-shadow-card)}.auth-card__header{margin-bottom:22px}.auth-card__header h2{margin:0;font-size:1.5rem;font-weight:700;line-height:1.3;letter-spacing:-.025em}.auth-card__header p{margin:7px 0 0;color:var(--fb-text-secondary);font-size:.9375rem;line-height:1.5}.auth-form{display:grid;gap:15px}.field{display:grid;gap:7px;margin:0}.field__label{color:var(--fb-text-primary);font-size:.875rem;font-weight:600}.text-input{width:100%;height:44px;padding:0 13px;border:1px solid transparent;border-radius:var(--fb-radius-md);outline:none;color:var(--fb-text-primary);background:var(--fb-bg);font-size:.9375rem;transition:background-color .15s ease,box-shadow .15s ease,border-color .15s ease}.text-input:hover:not(:disabled){background:#e9ebee}.text-input:focus-visible{border-color:#0866ff59;background:var(--fb-surface);box-shadow:0 0 0 2px #0866ff26}.text-input[aria-invalid=true]{border-color:#c431318c;box-shadow:0 0 0 2px #c431311a}.text-input:disabled{color:var(--fb-text-muted);background:var(--fb-control);opacity:.75}.password-control{position:relative;display:block}.password-control .text-input{padding-right:48px}.password-toggle{position:absolute;top:2px;right:2px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--fb-text-secondary);background:transparent;transition:color .15s ease,background-color .15s ease}.password-toggle:hover:not(:disabled){color:var(--fb-text-primary);background:var(--fb-control)}.password-toggle:focus-visible,.notice-action:focus-visible,.auth-text-button:focus-visible{outline:0;box-shadow:0 0 0 3px #0866ff33}.password-toggle:disabled{opacity:.5}.field-help{margin:-7px 0 0;color:var(--fb-text-secondary);font-size:.8125rem;line-height:1.45}.inline-notice{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px 12px;border-radius:var(--fb-radius-md);font-size:.875rem;line-height:1.45}.inline-notice+.auth-form{margin-top:15px}.inline-notice--error{color:#8e2020;background:#fdecec}.inline-notice--success{color:#126d34;background:#e8f6ed}.inline-notice--warning{color:#7a4900;background:#fff3dc}.inline-notice__icon{margin-top:1px}.inline-notice__content strong,.inline-notice__content span{display:block}.inline-notice__content strong{font-weight:700}.inline-notice__content span{margin-top:2px}.inline-notice__action{align-self:center}.notice-action{min-height:32px;padding:0 8px;border:0;border-radius:var(--fb-radius-sm);color:inherit;background:#ffffff8c;font-size:.8125rem;font-weight:650}.notice-action:hover{background:#ffffffe6}.auth-primary-button,.auth-secondary-button,.auth-text-button{width:100%;min-height:40px;border-radius:var(--fb-radius-md);font-size:.9375rem;font-weight:650;transition:background-color .15s ease,color .15s ease,opacity .15s ease}.auth-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:2px;border:0;color:#fff;background:var(--fb-primary)}.auth-primary-button:hover:not(:disabled){background:var(--fb-primary-hover)}.auth-primary-button:active:not(:disabled){background:#064dbf}.auth-primary-button:focus-visible,.auth-secondary-button:focus-visible{outline:0;box-shadow:0 0 0 3px #0866ff38}.auth-secondary-button{border:0;color:var(--fb-text-primary);background:var(--fb-control)}.auth-secondary-button:hover:not(:disabled){background:#d8dade}.auth-secondary-button:active:not(:disabled){background:#ccd0d5}.auth-text-button{border:0;color:var(--fb-primary);background:transparent}.auth-text-button:hover:not(:disabled){background:var(--fb-hover)}.auth-primary-button:disabled,.auth-secondary-button:disabled,.auth-text-button:disabled{opacity:.58}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--fb-text-muted);font-size:.75rem;text-align:center}.auth-divider:before,.auth-divider:after{height:1px;flex:1;background:var(--fb-control);content:""}.auth-divider span{white-space:nowrap}.auth-loading{min-height:156px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--fb-text-secondary);font-size:.9375rem}.loading-spinner,.button-spinner{display:inline-block;border-radius:50%;animation:auth-spin .8s linear infinite}.loading-spinner{width:30px;height:30px;border:3px solid var(--fb-control);border-top-color:var(--fb-primary)}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff}@keyframes auth-spin{to{transform:rotate(360deg)}}.workspace-app{min-height:100vh;color:var(--fb-text-primary);background:var(--fb-bg)}.workspace-topbar{position:sticky;top:0;z-index:40;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--fb-surface);box-shadow:var(--fb-shadow-card)}.workspace-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:0;border-radius:var(--fb-radius-md);color:var(--fb-text-primary);background:transparent;text-align:left}.workspace-brand:hover{background:var(--fb-hover)}.workspace-brand img{width:38px;height:38px;border-radius:var(--fb-radius-md);object-fit:contain}.workspace-brand span,.workspace-brand strong,.workspace-brand small{display:block}.workspace-brand strong{font-size:.94rem;line-height:1.05}.workspace-brand small{margin-top:3px;color:var(--fb-text-secondary);font-size:.7rem}.workspace-topbar__right{display:flex;align-items:center;gap:10px}.connection-pill{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border-radius:var(--fb-radius-pill);color:var(--fb-text-secondary);background:var(--fb-bg);font-size:.78rem}.status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--fb-text-muted)}.connection-pill.ready .status-dot{background:var(--fb-success);box-shadow:0 0 0 3px #16883f1f}.connection-pill.error .status-dot{background:var(--fb-danger)}.topbar-user{max-width:270px;display:flex;align-items:center;gap:8px;padding:3px 10px 3px 3px;overflow:hidden;border-radius:var(--fb-radius-pill);background:var(--fb-hover);color:var(--fb-text-secondary);font-size:.8rem}.topbar-user>span:last-child{min-width:0;overflow:hidden}.topbar-user strong,.topbar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user strong{color:var(--fb-text-primary);font-size:.75rem}.topbar-user small{margin-top:1px;color:var(--fb-text-secondary);font-size:.65rem}.icon-button{width:40px;height:40px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--fb-text-secondary);background:var(--fb-control);transition:background-color .15s ease,color .15s ease}.icon-button:hover:not(:disabled){color:var(--fb-text-primary);background:#d8dade}.icon-button.small{width:34px;height:34px;background:var(--fb-hover)}.workspace-layout{width:min(1380px,100%);min-height:calc(100vh - 56px);display:grid;grid-template-columns:230px minmax(0,1fr) 250px;align-content:start;align-items:start;gap:24px;margin:auto;padding:24px 20px 48px}.workspace-sidebar,.workspace-context{position:sticky;top:80px}.workspace-sidebar{min-width:0;display:grid;gap:18px}.workspace-nav{display:grid;gap:4px}.workspace-nav button{width:100%;min-width:0;min-height:46px;display:flex;align-items:center;gap:12px;padding:0 12px;border:0;border-radius:var(--fb-radius-md);color:var(--fb-text-primary);background:transparent;font-size:.92rem;font-weight:600;text-align:left;transition:background-color .15s ease,color .15s ease}.workspace-nav button>span:not(.nav-count){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-nav button:hover{background:var(--fb-control)}.workspace-nav button.active{color:var(--fb-primary);background:#e7f3ff}.nav-count{min-width:23px;height:23px;display:grid;place-items:center;margin-left:auto;padding:0 6px;border-radius:var(--fb-radius-pill);color:#fff;background:var(--fb-primary);font-size:.72rem}.sidebar-account{min-width:0;display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid var(--fb-divider)}.sidebar-account>span:last-child{flex:1}.sidebar-account>span:last-child,.sidebar-account strong,.sidebar-account small{min-width:0;display:block}.sidebar-account strong{overflow:hidden;text-overflow:ellipsis;color:var(--fb-text-primary);font-size:.8rem;white-space:nowrap}.sidebar-account small{margin-top:3px;overflow:hidden;color:var(--fb-text-secondary);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.member-avatar{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#0757d1;background:#dbeafe;font-size:.72rem;font-weight:800}.member-avatar.small{width:30px;height:30px;font-size:.65rem}.workspace-main{min-width:0}.page-heading{min-height:92px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.page-heading p{margin:0 0 6px;color:var(--fb-primary);font-size:.75rem;font-weight:750;letter-spacing:.08em}.page-heading h1{margin:0;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.18;letter-spacing:-.035em}.page-heading div>span{display:block;margin-top:7px;color:var(--fb-text-secondary);font-size:.88rem}.compact-select{display:grid;gap:5px;color:var(--fb-text-secondary);font-size:.72rem;font-weight:600}.compact-select select{min-width:138px;height:38px;padding:0 10px;border:0;border-radius:var(--fb-radius-md);outline:0;color:var(--fb-text-primary);background:var(--fb-control);font-size:.85rem;font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card{min-height:170px;display:grid;align-content:start;padding:16px;border:0;border-radius:var(--fb-radius-md);background:var(--fb-surface);box-shadow:var(--fb-shadow-card)}.metric-icon{width:36px;height:36px;display:grid;place-items:center;margin-bottom:14px;border-radius:50%;color:var(--fb-text-secondary);background:var(--fb-control)}.metric-icon.primary{color:var(--fb-primary);background:#e7f3ff}.metric-card small{color:var(--fb-text-secondary);font-size:.78rem}.metric-card strong{margin-top:5px;overflow:hidden;text-overflow:ellipsis;font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:-.04em;white-space:nowrap}.metric-card strong.date-value{font-size:clamp(1.25rem,2.2vw,1.55rem)}.metric-card p{margin:auto 0 0;color:var(--fb-text-secondary);font-size:.77rem}.feed-card,.context-card{border:0;border-radius:var(--fb-radius-md);background:var(--fb-surface);box-shadow:var(--fb-shadow-card)}.welcome-card{display:flex;align-items:flex-start;gap:14px;margin-top:16px;padding:16px}.feed-card__icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--fb-primary);background:#e7f3ff}.welcome-card h2{margin:1px 0 5px;font-size:1rem}.welcome-card p{margin:0;color:var(--fb-text-secondary);font-size:.86rem;line-height:1.55}.workspace-context{display:grid;gap:16px}.context-card{padding:15px}.context-card h2{margin:0 0 13px;color:var(--fb-text-secondary);font-size:.85rem}.context-account{display:grid;justify-items:start;gap:7px}.context-account strong{margin-top:3px;font-size:.9rem}.context-account>span:last-child{color:var(--fb-text-secondary);font-size:.75rem}.system-status{display:flex;align-items:center;gap:10px;color:var(--fb-success)}.system-status+.system-status{margin-top:14px;padding-top:14px;border-top:1px solid var(--fb-control)}.system-status.muted{color:var(--fb-text-secondary)}.system-status span,.system-status strong,.system-status small{display:block}.system-status strong{color:var(--fb-text-primary);font-size:.8rem}.system-status small{margin-top:2px;color:var(--fb-text-secondary);font-size:.7rem}.status-count{min-height:36px;display:flex;align-items:center;justify-content:space-between;font-size:.8rem}.status-count span{display:flex;align-items:center;gap:8px;color:var(--fb-text-secondary)}.status-count .status-dot.pending{background:#d97706}.status-count .status-dot.active{background:var(--fb-success)}.status-count .status-dot.disabled{background:var(--fb-text-muted)}.status-count .status-dot.rejected{background:var(--fb-danger)}.member-total{padding:7px 10px;border-radius:var(--fb-radius-pill);color:var(--fb-text-secondary);background:var(--fb-control);font-size:.8rem;font-weight:600}.members-card{overflow:visible}.member-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--fb-control)}.member-search{width:min(300px,100%);height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:var(--fb-radius-pill);color:var(--fb-text-secondary);background:var(--fb-bg)}.member-search:focus-within{box-shadow:0 0 0 2px #0866ff26}.member-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:.85rem}.status-filters{display:flex;flex-wrap:wrap;gap:4px}.status-filters button{min-height:34px;padding:0 10px;border:0;border-radius:var(--fb-radius-md);color:var(--fb-text-secondary);background:transparent;font-size:.78rem;font-weight:600}.status-filters button:hover{background:var(--fb-hover)}.status-filters button.active{color:var(--fb-primary);background:#e7f3ff}.member-table-wrap{overflow:visible}.member-table{width:100%;border-collapse:collapse;table-layout:fixed}.member-table th:nth-child(1){width:32%}.member-table th:nth-child(2){width:12%}.member-table th:nth-child(3){width:16%}.member-table th:nth-child(4){width:12%}.member-table th:nth-child(5){width:13%}.member-table th:nth-child(6){width:15%}.member-table th{height:42px;padding:0 10px;color:var(--fb-text-secondary);font-size:.72rem;font-weight:650;text-align:left}.member-table th:first-child,.member-table td:first-child{padding-left:16px}.member-table th:last-child,.member-table td:last-child{padding-right:16px}.member-table td{height:64px;padding:8px 10px;border-top:1px solid var(--fb-control);color:var(--fb-text-secondary);font-size:.78rem;vertical-align:middle}.member-table tbody tr:hover{background:var(--fb-hover)}.member-identity{min-width:180px;display:flex;align-items:center;gap:9px}.member-identity span:last-child,.member-identity strong,.member-identity small{min-width:0;display:block}.member-identity strong{max-width:230px;overflow:hidden;text-overflow:ellipsis;color:var(--fb-text-primary);font-size:.8rem;white-space:nowrap}.member-identity small{margin-top:3px;color:var(--fb-text-muted);font-size:.68rem}.status-badge{width:max-content;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--fb-radius-pill);font-size:.72rem;font-weight:650}.status-badge i{width:7px;height:7px;border-radius:50%}.status-badge.pending{color:#8a4b00;background:#fff1d6}.status-badge.pending i{background:#d97706}.status-badge.active{color:#126d34;background:#e8f6ed}.status-badge.active i{background:var(--fb-success)}.status-badge.disabled{color:#5f6368;background:var(--fb-control)}.status-badge.disabled i{background:var(--fb-text-muted)}.status-badge.rejected{color:#8e2020;background:#fdecec}.status-badge.rejected i{background:var(--fb-danger)}.role-label{display:inline-flex;align-items:center;gap:6px;color:var(--fb-text-primary);white-space:nowrap}.permission-summary{white-space:nowrap}.member-actions-cell{width:1%}.member-actions{position:relative;display:flex;justify-content:flex-end;gap:6px}.row-primary-action{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:0;border-radius:var(--fb-radius-sm);color:#fff;background:var(--fb-primary);font-size:.76rem;font-weight:650}.row-primary-action:hover{background:var(--fb-primary-hover)}.member-action-menu{position:absolute;top:39px;right:0;z-index:20;width:190px;display:grid;gap:2px;padding:7px;border-radius:var(--fb-radius-lg);background:var(--fb-surface);box-shadow:var(--fb-shadow-popup)}.member-action-menu button{min-height:38px;display:flex;align-items:center;gap:9px;padding:0 10px;border:0;border-radius:var(--fb-radius-sm);color:var(--fb-text-primary);background:transparent;font-size:.8rem;text-align:left}.member-action-menu button:hover{background:var(--fb-hover)}.member-action-menu button.danger{color:var(--fb-danger)}.member-pagination{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-top:1px solid var(--fb-control);color:var(--fb-text-secondary);font-size:.77rem}.member-pagination>div{display:flex;gap:6px}.member-pagination button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--fb-text-primary);background:var(--fb-control)}.member-pagination button:disabled{color:var(--fb-disabled-text);opacity:.5}.members-loading,.members-empty{min-height:260px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--fb-text-secondary);font-size:.85rem}.members-empty{flex-direction:column;text-align:center}.members-empty strong{color:var(--fb-text-primary)}.members-empty span{font-size:.78rem}.workspace-notice{min-height:42px;display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:9px 11px;border-radius:var(--fb-radius-md);font-size:.82rem}.workspace-notice span{flex:1}.workspace-notice button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:inherit;background:transparent}.workspace-notice button:hover{background:#0000000f}.workspace-notice.error{color:#8e2020;background:#fdecec}.workspace-notice.success{color:#126d34;background:#e8f6ed}.dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0006}.dialog-card{width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;border-radius:var(--fb-radius-lg);background:var(--fb-surface);box-shadow:var(--fb-shadow-popup)}.dialog-card>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--fb-control);background:var(--fb-surface)}.dialog-card header p{margin:0 0 3px;color:var(--fb-primary);font-size:.7rem;font-weight:700}.dialog-card h2{margin:0;font-size:1.2rem}.dialog-user{display:flex;align-items:center;gap:10px;margin:16px 18px;padding:12px;border-radius:var(--fb-radius-md);background:var(--fb-bg)}.dialog-user span:last-child,.dialog-user strong,.dialog-user small{display:block}.dialog-user strong{font-size:.85rem}.dialog-user small{margin-top:3px;color:var(--fb-text-secondary);font-size:.72rem}.role-picker,.permission-picker{margin:0;padding:0 18px 16px;border:0}.role-picker legend,.permission-picker legend{margin-bottom:9px;color:var(--fb-text-secondary);font-size:.76rem;font-weight:650}.role-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.role-picker legend{grid-column:1 / -1}.role-picker label,.permission-picker label{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:var(--fb-radius-md);background:var(--fb-hover);cursor:pointer}.role-picker input,.permission-picker input{margin-top:3px;accent-color:var(--fb-primary)}.role-picker label>span{display:grid;grid-template-columns:20px 1fr;column-gap:7px}.role-picker strong{font-size:.82rem}.role-picker small{grid-column:2;margin-top:3px;color:var(--fb-text-secondary);font-size:.7rem;line-height:1.35}.permission-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.permission-picker legend{grid-column:1 / -1}.permission-picker label>span,.permission-picker strong,.permission-picker small{display:block}.permission-picker strong{font-size:.8rem}.permission-picker small{margin-top:3px;color:var(--fb-text-secondary);font-size:.69rem;line-height:1.35}.dialog-card>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid var(--fb-control);background:var(--fb-surface)}.primary-action,.secondary-action,.danger-action{min-height:38px;padding:0 14px;border:0;border-radius:var(--fb-radius-md);font-size:.82rem;font-weight:650}.primary-action{color:#fff;background:var(--fb-primary)}.primary-action:hover:not(:disabled){background:var(--fb-primary-hover)}.secondary-action{color:var(--fb-text-primary);background:var(--fb-control)}.secondary-action:hover:not(:disabled){background:#d8dade}.danger-action{color:#fff;background:var(--fb-danger)}.danger-action:hover:not(:disabled){background:#a92828}.confirm-dialog{width:min(460px,100%)}.confirm-description{margin:0 18px 18px;color:var(--fb-text-secondary);font-size:.82rem;line-height:1.55}.dialog-field{display:grid;gap:6px;margin:13px 18px;color:var(--fb-text-primary);font-size:.78rem;font-weight:650}.dialog-field input{height:42px;padding:0 11px;border:1px solid transparent;border-radius:var(--fb-radius-md);outline:0;background:var(--fb-bg)}.dialog-field input:focus{border-color:#0866ff4d;box-shadow:0 0 0 2px #0866ff21}.dialog-field input[aria-invalid=true]{border-color:var(--fb-danger)}.dialog-error{margin:0 18px 10px;color:var(--fb-danger);font-size:.75rem}.employee-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 18px 16px}.employee-profile-fields .dialog-field{margin:0}.employee-profile-fields .access-name-field{grid-column:1 / -1}.dialog-field select{height:42px;padding:0 11px;border:1px solid transparent;border-radius:var(--fb-radius-md);outline:0;background:var(--fb-bg)}.dialog-field select:focus{border-color:#0866ff4d;box-shadow:0 0 0 2px #0866ff21}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace-app button:focus-visible,.workspace-app input:focus-visible,.workspace-app select:focus-visible{outline:0;box-shadow:0 0 0 3px #0866ff33}@media(max-width:1180px){.workspace-layout{grid-template-columns:220px minmax(0,1fr)}.workspace-context{display:none}}@media(max-width:900px){.auth-page{align-items:start;padding-top:40px}.auth-layout{max-width:520px;grid-template-columns:1fr;gap:28px}.auth-identity{max-width:none;display:flex;flex-direction:column;gap:0;text-align:center}.auth-identity__logo-frame{width:128px;height:128px}.auth-identity__content{margin-top:18px}.auth-identity__accent{justify-content:center;margin-top:14px}.auth-identity__system{justify-items:center;margin-top:11px}.workspace-layout{grid-template-columns:210px minmax(0,1fr)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card:last-child{grid-column:1 / -1}.member-toolbar{align-items:stretch;flex-direction:column}.member-search{width:100%}}@media(max-width:640px){.auth-page{padding:24px 16px}.auth-layout{gap:20px}.auth-identity__logo-frame{width:96px;height:96px;padding:4px;border-radius:12px}.auth-identity__content{margin-top:14px}.auth-identity h1{font-size:1.25rem}.auth-identity__english{max-width:330px;margin-top:6px;font-size:.75rem;line-height:1.4}.auth-identity__accent{margin-top:11px}.auth-identity__system{gap:3px;margin-top:8px}.auth-identity__system-zh{font-size:1.125rem}.auth-identity__system-en{font-size:1.5rem}.auth-card{padding:20px 16px}.auth-card__header{margin-bottom:18px}.auth-card__header h2{font-size:1.375rem}.auth-page--compact{padding-block:12px}.auth-page--compact .auth-layout{gap:12px}.auth-page--compact .auth-identity__logo-frame{width:72px;height:72px}.auth-page--compact .auth-identity__content{margin-top:8px}.auth-page--compact .auth-identity h1{font-size:1.05rem}.auth-page--compact .auth-identity__english{margin-top:3px;font-size:.68rem}.auth-page--compact .auth-identity__accent{margin-top:7px}.auth-page--compact .auth-identity__system{margin-top:5px}.auth-page--compact .auth-identity__system-zh{font-size:1rem}.auth-page--compact .auth-identity__system-en{font-size:1.25rem}.auth-page--compact .auth-card{padding-block:16px}.auth-page--compact .auth-card__header{margin-bottom:12px}.auth-page--compact .auth-form{gap:10px}.auth-page--compact .field{gap:5px}.auth-page--compact .text-input{height:42px}.auth-page--compact .field-help{margin-top:-4px}.inline-notice{grid-template-columns:20px minmax(0,1fr)}.inline-notice__action{grid-column:2;justify-self:start}.workspace-topbar{padding:0 10px}.workspace-brand{padding-right:4px}.workspace-brand img{width:34px;height:34px}.workspace-brand small,.topbar-user,.connection-pill>span:last-child{display:none}.connection-pill{width:34px;justify-content:center;padding:0}.workspace-layout{grid-template-columns:1fr;gap:12px;padding:12px 12px 32px}.workspace-sidebar{position:static;order:0;overflow-x:auto}.workspace-nav{display:flex;gap:6px}.workspace-nav button{min-width:max-content;min-height:42px}.sidebar-account{display:none}.workspace-main{order:1}.page-heading{min-height:auto;align-items:flex-start;flex-direction:column;margin:8px 2px 15px}.page-heading h1{font-size:1.45rem;word-break:break-word}.page-heading div>span{font-size:.8rem}.compact-select,.compact-select select{width:100%}.summary-grid{grid-template-columns:1fr;gap:10px}.metric-card,.metric-card:last-child{min-height:142px;grid-column:auto}.welcome-card{margin-top:10px}.member-total{align-self:flex-start}.status-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.member-table-wrap{overflow:visible}.member-table,.member-table tbody{display:block;table-layout:auto}.member-table thead{display:none}.member-table tr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid var(--fb-control)}.member-table tr:first-child{border-top:0}.member-table td,.member-table th:first-child,.member-table td:first-child,.member-table th:last-child,.member-table td:last-child{width:auto;height:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0}.member-table td:before{color:var(--fb-text-muted);font-size:.68rem;content:attr(data-label)}.member-table td:first-child{grid-column:1 / -1}.member-table td:first-child:before,.member-actions-cell:before{display:none}.member-table td:nth-child(4),.member-table td:nth-child(5){grid-column:1 / -1}.member-identity{width:100%;min-width:0}.member-identity strong{max-width:250px}.member-actions-cell{width:auto;grid-column:1 / -1;justify-content:flex-end!important}.member-actions{width:100%}.member-action-menu{top:40px}.role-picker,.permission-picker{grid-template-columns:1fr}.role-picker legend,.permission-picker legend{grid-column:1}.dialog-backdrop{align-items:end;padding:0}.dialog-card{width:100%;max-height:90vh;border-radius:14px 14px 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.workspace-layout:has(.trip-editor),.workspace-layout:has(.trip-detail),.workspace-layout:has(.fare-admin),.workspace-layout:has(.trip-list-card){grid-template-columns:230px minmax(0,1fr)}.workspace-layout:has(.trip-editor) .workspace-context,.workspace-layout:has(.trip-detail) .workspace-context,.workspace-layout:has(.fare-admin) .workspace-context,.workspace-layout:has(.trip-list-card) .workspace-context{display:none}.primary-action,.secondary-action,.danger-action,.text-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.primary-action:disabled,.secondary-action:disabled,.danger-action:disabled,.text-action:disabled{cursor:not-allowed;opacity:.55}.text-action{min-height:32px;padding:0 8px;border:0;border-radius:var(--fb-radius-sm);color:var(--fb-primary);background:transparent;font-size:.8rem;font-weight:650}.text-action:hover:not(:disabled){background:var(--fb-primary-soft)}.text-action.danger,button.danger{color:var(--fb-danger)}.trip-heading{position:relative;align-items:center}.trip-heading-actions{display:flex;align-items:center;gap:8px}.notification-button{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--fb-text-primary);background:var(--fb-control);cursor:pointer}.notification-button>span{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border:2px solid var(--fb-bg);border-radius:10px;color:#fff;background:var(--fb-danger);font-size:.62rem;font-weight:750}.notification-popover{position:absolute;z-index:20;top:66px;right:0;width:min(370px,calc(100vw - 24px));max-height:430px;overflow-y:auto;border:1px solid var(--fb-border);border-radius:var(--fb-radius-lg);background:#fff;box-shadow:0 8px 28px #00000029}.notification-popover>header{position:sticky;top:0;display:flex;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--fb-divider);background:#fff}.notification-popover header button{border:0;color:var(--fb-primary);background:transparent;cursor:pointer}.notification-popover>button{width:100%;display:grid;gap:3px;padding:12px 14px;border:0;border-bottom:1px solid var(--fb-divider);background:#fff;text-align:left;cursor:pointer}.notification-popover>button.unread{background:#edf5ff}.notification-popover>button span,.notification-popover>button time{color:var(--fb-text-secondary);font-size:.72rem}.notification-popover>p{padding:20px;color:var(--fb-text-secondary);text-align:center}.trip-list-card{overflow:hidden;padding:0}.trip-scope-tabs{width:max-content;display:flex;gap:4px;margin:-4px 0 14px;padding:4px;border-radius:var(--fb-radius-md);background:#e4e7ec}.trip-scope-tabs button{min-height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;cursor:pointer}.trip-scope-tabs button.active{color:var(--fb-primary);background:#fff;box-shadow:var(--fb-shadow-subtle);font-weight:700}.trip-list-row{width:100%;display:grid;grid-template-columns:42px minmax(180px,1.35fr) minmax(180px,1fr) auto minmax(90px,auto) 20px;align-items:center;gap:14px;padding:15px 18px;border:0;border-bottom:1px solid var(--fb-divider);color:var(--fb-text-primary);background:#fff;text-align:left;cursor:pointer}.trip-list-row:last-child{border-bottom:0}.trip-list-row:hover{background:#f7f9fc}.trip-status-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--fb-primary);background:var(--fb-primary-soft)}.trip-status-icon.approved,.trip-status-icon.accounting_archived{color:#177b4d;background:#e7f7ef}.trip-list-main,.trip-list-dates{min-width:0;display:grid;gap:3px}.trip-list-main small,.trip-list-dates small{overflow:hidden;color:var(--fb-text-secondary);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.trip-list-dates strong{font-size:.82rem}.trip-list-amount{text-align:right}.trip-state,.emergency-badge{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;color:#765400;background:#fff2cc;font-size:.73rem;font-weight:700;white-space:nowrap}.trip-state.draft,.trip-state.withdrawn,.trip-state.returned{color:#4f5660;background:#eef0f3}.trip-state.approved,.trip-state.accounting_archived{color:#146c43;background:#e2f5eb}.trip-state.rejected,.trip-state.cancelled{color:#a32626;background:#fdeaea}.emergency-badge{color:#a34012;background:#fff0e2}.trip-empty{min-height:250px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--fb-text-secondary)}.trip-empty svg{color:var(--fb-primary)}.trip-empty strong{color:var(--fb-text-primary)}.trip-editor,.trip-detail,.fare-admin{min-width:0}.editor-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.editor-header>div:nth-child(2){flex:1}.editor-header p,.fare-admin .page-heading p{margin:0 0 3px;color:var(--fb-primary);font-size:.72rem;font-weight:750;letter-spacing:.08em}.editor-header h1{margin:0 0 4px;font-size:1.65rem}.editor-header span{color:var(--fb-text-secondary);font-size:.86rem}.detail-header-actions{display:flex;flex:none!important;gap:8px}.trip-editor-layout,.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:18px}.trip-form-stack{min-width:0;display:grid;gap:16px}.trip-form-section,.detail-card,.trip-summary-panel,.approval-panel,.admin-card{border:1px solid var(--fb-border);border-radius:var(--fb-radius-lg);background:#fff;box-shadow:var(--fb-shadow-subtle)}.trip-form-section>header{min-height:52px;display:flex;align-items:center;gap:9px;padding:0 18px;border-bottom:1px solid var(--fb-divider)}.trip-form-section>header>span{display:grid;place-items:center;color:var(--fb-primary)}.trip-form-section>header h2{flex:1;margin:0;font-size:.98rem}.trip-form-section__body{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.one{grid-template-columns:1fr}.form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label,.trip-summary-panel label,.decision-box label,.admin-card label,.exception-field{min-width:0;display:grid;align-content:start;gap:6px;color:var(--fb-text-primary);font-size:.78rem;font-weight:650}.form-grid .wide{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea,.trip-summary-panel input,.trip-summary-panel textarea,.decision-box textarea,.admin-card input,.admin-card select,.admin-card textarea,.cost-row input,.cost-row select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--fb-border);border-radius:var(--fb-radius-md);color:var(--fb-text-primary);background:#fff;font:inherit;font-weight:400}.form-grid textarea,.trip-summary-panel textarea,.decision-box textarea{min-height:78px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.trip-summary-panel input:focus,.trip-summary-panel textarea:focus,.decision-box textarea:focus,.admin-card input:focus,.admin-card select:focus{border-color:var(--fb-primary);outline:3px solid rgba(8,102,255,.12)}.transport-row{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--fb-divider)}.transport-row:first-child{padding-top:0}.transport-row:last-child{padding-bottom:0;border-bottom:0}.transport-actions{display:flex;align-items:center;gap:10px;color:var(--fb-text-secondary);font-size:.76rem}.transport-actions .icon-button{margin-left:auto}.cost-row{display:grid;grid-template-columns:120px minmax(140px,1fr) 80px 110px 100px 34px;align-items:center;gap:8px;padding-bottom:10px}.cost-row strong{text-align:right;font-size:.82rem}.exception-field,.exception-callout{margin-top:10px;padding:12px;border:1px solid #efc37c;border-radius:var(--fb-radius-md);color:#7f4b0b;background:#fff8e8}.exception-callout{display:flex;align-items:center;gap:7px;font-size:.8rem}.check-line{display:flex!important;grid-column:auto!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-weight:500!important}.check-line input{width:17px!important;min-height:auto!important;accent-color:var(--fb-primary)}.section-empty{margin:6px 0;color:var(--fb-text-secondary);font-size:.82rem}.trip-summary-panel,.approval-panel{position:sticky;top:80px;display:grid;gap:14px;padding:18px}.trip-summary-panel h2,.approval-panel h2{margin:0;font-size:1rem}.trip-summary-panel dl{display:grid;gap:12px;margin:0}.trip-summary-panel dl div{display:flex;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--fb-divider)}.trip-summary-panel dt{color:var(--fb-text-secondary);font-size:.78rem}.trip-summary-panel dd{margin:0;font-size:.83rem;font-weight:700}.detail-card{overflow:hidden}.detail-card>header{display:flex;align-items:center;gap:8px;padding:16px 18px;border-bottom:1px solid var(--fb-divider)}.detail-card>header>strong{margin-left:auto;font-size:1.2rem}.detail-facts,.purpose-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:18px}.purpose-list{padding:0}.detail-facts div,.purpose-list div{display:grid;gap:4px}.detail-facts dt,.purpose-list dt{color:var(--fb-text-secondary);font-size:.73rem;font-weight:650}.detail-facts dd,.purpose-list dd{margin:0;white-space:pre-wrap}.detail-table-wrap{overflow-x:auto}.detail-table{width:100%;border-collapse:collapse;font-size:.8rem}.detail-table th,.detail-table td{padding:10px 9px;border-bottom:1px solid var(--fb-divider);text-align:left;vertical-align:top}.detail-table th{color:var(--fb-text-secondary);background:#f7f8fa;font-size:.72rem}.detail-table td small{display:block;margin-top:3px;color:var(--fb-text-secondary)}.detail-table td:last-child{font-weight:700;white-space:nowrap}.fare-adjustment{color:#a15b13!important}.approval-timeline{display:grid}.approval-timeline article{position:relative;display:grid;grid-template-columns:30px 1fr;gap:10px;padding-bottom:18px}.approval-timeline article:not(:last-child):after{position:absolute;top:28px;bottom:0;left:13px;width:2px;background:var(--fb-divider);content:""}.approval-timeline article>span{z-index:1;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--fb-text-secondary);background:var(--fb-control);font-size:.74rem;font-weight:750}.approval-timeline article.approved>span{color:#fff;background:#249263}.approval-timeline article.pending>span{color:#fff;background:var(--fb-primary)}.approval-timeline article div{min-width:0;display:grid;gap:2px}.approval-timeline article p,.approval-timeline article small,.approval-timeline blockquote{margin:0}.approval-timeline article p{font-size:.8rem}.approval-timeline article small{color:var(--fb-text-secondary);font-size:.7rem}.approval-timeline blockquote{margin-top:5px;padding:7px;border-radius:var(--fb-radius-sm);background:var(--fb-control);font-size:.72rem}.decision-box{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--fb-divider)}.decision-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.decision-secondary button{min-height:34px;border:0;border-radius:var(--fb-radius-md);background:var(--fb-control);cursor:pointer}.admin-tabs{display:flex;gap:4px;margin:0 0 16px;padding:4px;border-radius:var(--fb-radius-md);background:#e4e7ec}.admin-tabs button{min-height:36px;padding:0 16px;border:0;border-radius:6px;background:transparent;cursor:pointer}.admin-tabs button.active{color:var(--fb-primary);background:#fff;box-shadow:var(--fb-shadow-subtle);font-weight:700}.admin-form-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.6fr);gap:16px;margin-bottom:16px}.admin-form-grid.policy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-card{align-content:start;display:grid;gap:12px;padding:18px}.admin-card h2,.rule-list h2{display:flex;align-items:center;gap:7px;margin:0;font-size:.96rem}.admin-card h2 svg{color:var(--fb-primary)}.fare-rule-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-list{padding:18px}.rule-list-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.rule-filter{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(120px,.7fr) minmax(145px,.8fr) auto;align-items:end;gap:8px;flex:1;max-width:780px}.rule-filter label{display:grid;gap:4px;font-size:.72rem}.rule-filter input,.rule-filter select{height:36px;padding:0 10px}.rule-filter>div{display:flex;align-items:center;gap:6px;min-height:36px}.rule-filter .secondary-action{min-height:36px;padding:0 14px}.compact-list{display:grid;gap:5px;margin-top:5px}.compact-list span{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--fb-divider);font-size:.75rem}.compact-list small{color:var(--fb-text-secondary)}.admin-form-grid.fare-rule-grid{grid-template-columns:1fr}.location-management-card{overflow:hidden;padding:0}.location-management-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--fb-divider)}.location-management-heading h2{margin:0 0 3px;font-size:1.15rem}.location-management-heading>div>span{color:var(--fb-text-secondary);font-size:.8rem}.section-kicker{margin:0 0 3px;color:var(--fb-primary);font-size:.7rem;font-weight:750;letter-spacing:.06em}.location-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-bottom:1px solid var(--fb-divider);background:var(--fb-divider)}.location-summary>span{display:flex;align-items:baseline;gap:7px;padding:13px 18px;color:var(--fb-text-secondary);background:#fff;font-size:.76rem}.location-summary strong{color:var(--fb-text-primary);font-size:1.15rem}.location-summary .active strong{color:var(--fb-success)}.location-summary .inactive strong{color:var(--fb-text-muted)}.location-filter{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.7fr) minmax(130px,.7fr) auto;align-items:end;gap:10px;padding:14px 18px;border-bottom:1px solid var(--fb-divider);background:#f7f8fa}.location-filter label{display:grid;gap:5px;color:var(--fb-text-secondary);font-size:.72rem;font-weight:650}.location-filter input,.location-filter select{width:100%;height:38px;padding:0 10px;border:1px solid var(--fb-border);border-radius:var(--fb-radius-md);color:var(--fb-text-primary);background:#fff}.location-search-field>span{position:relative;display:block}.location-search-field svg{position:absolute;top:11px;left:10px;color:var(--fb-text-muted)}.location-search-field input{padding-left:34px}.location-filter-actions,.location-actions{display:flex;align-items:center;gap:4px}.location-filter-actions{min-height:38px}.location-table-wrap{width:100%;overflow-x:auto}.location-table{width:100%;border-collapse:collapse;font-size:.79rem}.location-table th,.location-table td{padding:12px 14px;border-bottom:1px solid var(--fb-divider);text-align:left;vertical-align:middle}.location-table th{color:var(--fb-text-secondary);background:#fff;font-size:.7rem;letter-spacing:.02em;white-space:nowrap}.location-table tbody tr:last-child td{border-bottom:0}.location-table tbody tr:hover{background:#f8f9fb}.location-table td:first-child{min-width:190px}.location-table td>strong,.location-table td>small{display:block}.location-table td>small{max-width:280px;margin-top:3px;overflow:hidden;color:var(--fb-text-secondary);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.location-table time{color:var(--fb-text-secondary);font-size:.72rem;white-space:nowrap}.location-table td:nth-child(2){white-space:nowrap}.location-status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:var(--fb-radius-pill);font-size:.7rem;font-weight:700;white-space:nowrap}.location-status:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.location-status.active{color:#146c43;background:#e2f5eb}.location-status.inactive{color:#5f6368;background:#eceef1}.location-references{display:grid;gap:3px;color:var(--fb-text-secondary);font-size:.72rem;white-space:nowrap}.location-actions{flex-wrap:wrap;min-width:160px}.location-actions .text-action{min-height:30px;padding:0 6px;font-size:.73rem}.location-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--fb-text-secondary);text-align:center}.location-empty svg{color:var(--fb-primary)}.location-empty strong{color:var(--fb-text-primary)}.location-dialog{width:min(500px,100%)}.location-dialog>header{position:static}.location-dialog>form{display:grid;gap:14px;padding:18px}.location-dialog>form>label{display:grid;gap:6px;font-size:.78rem;font-weight:650}.location-dialog>form input,.location-dialog>form select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--fb-border);border-radius:var(--fb-radius-md);background:#fff}.location-dialog>form label>small{color:var(--fb-text-secondary);font-size:.68rem;font-weight:400;text-align:right}.location-dialog>form>footer,.location-action-dialog>footer{display:flex;justify-content:flex-end;gap:8px;margin:3px -18px -18px;padding:13px 18px;border-top:1px solid var(--fb-divider)}.location-action-dialog{padding-bottom:0}.location-action-dialog>p,.location-action-dialog>.delete-acknowledgement{margin:18px}.location-action-dialog>p{color:var(--fb-text-secondary);line-height:1.55}.location-action-dialog>p strong{color:var(--fb-danger)}.delete-acknowledgement{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid #edb4b4;border-radius:var(--fb-radius-md);color:#8d2020;background:#fff3f3;font-size:.78rem}.delete-acknowledgement input{margin-top:2px;accent-color:var(--fb-danger)}.dialog-inline-error{display:flex;align-items:flex-start;gap:8px;margin:14px 18px 0;padding:10px 12px;border:1px solid #edb4b4;border-radius:var(--fb-radius-md);color:#8d2020;background:#fff3f3;font-size:.78rem}.location-dialog>form>.dialog-inline-error{margin:0}.trip-print-shell{padding:0 0 40px}.print-toolbar{display:flex;justify-content:space-between;margin-bottom:16px}.trip-print-page{width:min(210mm,100%);min-height:297mm;margin:auto;padding:14mm;color:#111;background:#fff;box-shadow:var(--fb-shadow-card)}.trip-print-page>header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #1a4f8f;padding-bottom:8px}.trip-print-page>header div{display:grid;gap:2px}.trip-print-page>header span,.trip-print-page>header p{margin:0;color:#555;font-size:9pt}.trip-print-page h1{margin:12px 0;text-align:center;font-size:18pt}.trip-print-page h2{margin:14px 0 6px;font-size:11pt}.trip-print-page table{width:100%;border-collapse:collapse;font-size:9pt}.trip-print-page th,.trip-print-page td{padding:6px;border:1px solid #555;text-align:left;vertical-align:top}.trip-print-page th{width:18%;background:#eef3f9}.trip-print-page .print-total th,.trip-print-page .print-total td{font-weight:700;background:#f5f5f5}.print-note{margin-top:10px;padding:8px;border:1px solid #b56f23;background:#fff9ed;font-size:9pt}.print-note p{margin:4px 0 0}.print-approvals{display:grid;grid-template-columns:repeat(3,1fr)}.print-approvals section{min-height:85px;display:grid;align-content:start;gap:3px;padding:8px;border:1px solid #555;border-right:0;font-size:9pt}.print-approvals section:last-child{border-right:1px solid #555}.print-approvals p,.print-approvals time{margin:0}.print-approvals small{color:#555}.trip-print-page>footer{margin-top:16px;color:#555;font-size:8pt;text-align:center}@media(max-width:1180px){.trip-editor-layout,.detail-grid{grid-template-columns:1fr}.trip-summary-panel,.approval-panel{position:static}.admin-form-grid.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.trip-list-row{grid-template-columns:38px minmax(0,1fr) auto}.trip-list-dates,.trip-list-amount{display:none}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-row{grid-template-columns:105px minmax(120px,1fr) 68px 90px 32px}.cost-row strong{grid-column:2 / 5;grid-row:2}.admin-form-grid,.admin-form-grid.policy-grid{grid-template-columns:1fr}.rule-list-heading{align-items:stretch;flex-direction:column}.rule-filter{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.rule-filter label:first-child{grid-column:1 / -1}.location-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.location-search-field{grid-column:1 / -1}}@media(max-width:700px){.location-table-wrap{padding:10px;overflow:visible}.location-table,.location-table tbody{display:block}.location-table thead{display:none}.location-table tr{display:grid;gap:7px;margin-bottom:10px;padding:14px;border:1px solid var(--fb-divider);border-radius:var(--fb-radius-lg);background:#fff;box-shadow:var(--fb-shadow-card)}.location-table tr:last-child{margin-bottom:0}.location-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0;border:0;text-align:right}.location-table td:before{flex:none;color:var(--fb-text-secondary);font-size:.7rem;font-weight:650;content:attr(data-label)}.location-table td:first-child{min-width:0}.location-table td:first-child>strong,.location-table td:first-child>small{margin-left:auto}.location-table td>small{white-space:normal}.location-references{text-align:right}.location-actions{justify-content:flex-end;min-width:0}.location-table td:last-child{margin-top:5px;padding-top:9px;border-top:1px solid var(--fb-divider)}.location-table td:last-child:before{padding-top:7px}}@media(max-width:560px){.trip-heading,.detail-header{align-items:flex-start}.trip-list-row{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px 12px}.trip-list-row>.trip-state,.trip-list-row>svg{display:none}.form-grid,.form-grid.compact,.fare-rule-form .form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.trip-form-section__body{padding:14px}.trip-form-section>header{padding:0 14px}.cost-row{grid-template-columns:1fr 70px 88px 32px}.cost-row input:nth-of-type(1){grid-column:1 / -1}.cost-row strong{grid-column:1 / 4;grid-row:auto;text-align:left}.detail-header{flex-wrap:wrap}.detail-header-actions{width:100%;padding-left:46px}.detail-facts,.purpose-list{grid-template-columns:1fr}.detail-table{min-width:600px}.print-approvals{grid-template-columns:1fr}.print-approvals section{border-right:1px solid #555;border-bottom:0}.print-approvals section:last-child{border-bottom:1px solid #555}}@media print{body{background:#fff!important}.workspace-topbar,.workspace-sidebar,.workspace-context,.print-toolbar{display:none!important}.workspace-layout{display:block!important;width:auto!important;padding:0!important}.workspace-main{width:auto!important}.trip-print-shell{padding:0}.trip-print-page{width:210mm;min-height:297mm;margin:0;padding:12mm;box-shadow:none;page-break-after:avoid}@page{size:A4 portrait;margin:0}}@media(max-width:560px){.workspace-layout:has(.trip-editor),.workspace-layout:has(.trip-detail),.workspace-layout:has(.fare-admin),.workspace-layout:has(.trip-list-card){grid-template-columns:1fr}.rule-filter,.location-filter{grid-template-columns:1fr}.rule-filter label:first-child,.location-search-field{grid-column:auto}.admin-tabs{width:100%;overflow-x:auto}.admin-tabs button{flex:1 0 auto;padding:0 11px}.location-management-heading{align-items:flex-start;padding:15px}.location-management-heading>div>span{display:none}.location-management-heading .primary-action{min-height:36px;padding:0 10px}.location-summary>span{display:grid;gap:2px;padding:10px;text-align:center}.location-summary strong{font-size:1rem}.location-filter{padding:12px}.location-dialog>form{padding:15px}.location-dialog>form>footer{margin:3px -15px -15px}.location-action-dialog>footer{margin-left:0;margin-right:0}}
