:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#010102;--surface-1:#0f1011;--surface-2:#15171a;--surface-3:#1b1d21;--control:#090b0e;--ink:#f7f8f8;--ink-muted:#d0d6e0;--ink-subtle:#aab2bf;--hairline:#2a2d33;--hairline-strong:#444852;--primary:#5e6ad2;--primary-hover:#7884e8;--success:#39b96b;--warning:#f0b84d;--danger:#f06a6a;--focus:#93a0ff;--radius:8px;--content:1360px}*{box-sizing:border-box;min-width:0}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,Noto Sans TC,Microsoft JhengHei,PingFang TC,system-ui,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,.btn:disabled{cursor:not-allowed;opacity:1;color:#c5cbd5;background:#26292f;border-color:#454952}img,svg,video,canvas,iframe{max-inline-size:100%}p,small,span,strong,td,th,label,code,dd,dt,a{overflow-wrap:anywhere}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{color:var(--ink);letter-spacing:0}.app-shell{background:var(--canvas);min-height:100dvh}.main{inline-size:min(var(--content), 100%);margin-inline:auto;padding:24px}.topbar{z-index:20;border-bottom:1px solid var(--hairline);background:#010102f5;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 24px;display:flex;position:sticky;inset-block-start:0}.brand{align-items:center;gap:12px;max-inline-size:100%;display:flex}.auth-panel .brand{margin-block-end:24px}.brand img{object-fit:contain;flex:0 auto;block-size:auto;inline-size:164px;display:block}.brand-title{gap:2px;display:grid}.brand-title strong{font-size:17px;font-weight:600;line-height:1.25}.brand-title span{color:var(--ink-subtle);font-size:12px}.topbar-actions,.actions,.toolbar,.history-header,.history-section-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topbar-actions{justify-content:flex-end}.history-header,.history-section-title{justify-content:space-between;align-items:flex-start}.auth-page,.line-binding-page{background:var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-panel,.line-binding-card,.panel,.notification-preview{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-1);color:var(--ink)}.auth-panel,.line-binding-card{inline-size:min(100%,480px);padding:28px}.line-binding-card{gap:20px;display:grid}.line-binding-card .brand{border-bottom:1px solid var(--hairline);padding-block-end:18px}.line-binding-card h1{margin:4px 0 8px;font-size:28px;font-weight:600}.line-binding-card p,.line-binding-card small{color:var(--ink-muted);margin:0}.eyebrow{font-size:13px;font-weight:600;color:var(--focus)!important}.line-binding-target{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--hairline);gap:1px;margin:0;display:grid;overflow:hidden}.line-binding-target>div{background:var(--surface-2);grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:12px;padding:12px 14px;display:grid}.line-binding-target dt{color:var(--ink-subtle)}.line-binding-target dd{color:var(--ink);margin:0;font-weight:600}.line-binding-note{border-left:3px solid var(--primary);background:var(--surface-2);padding:12px}.line-binding-action{inline-size:100%}.page-grid,.admin-grid{align-items:start;gap:16px;display:grid}.page-grid>*,.admin-grid>*{min-width:0;max-inline-size:100%}.page-grid{grid-template-columns:minmax(320px,400px) minmax(0,1fr)}.admin-grid{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.admin-people-panel,.admin-line-audit-panel,.admin-notification-log-panel{grid-column:1/-1}.panel{max-inline-size:100%;overflow:hidden}.panel-header{border-bottom:1px solid var(--hairline);padding:18px 20px}.panel-header h1,.panel-header h2{margin:0;font-size:20px;font-weight:600;line-height:1.3}.panel-header p{color:var(--ink-muted);margin:6px 0 0;font-size:14px}.panel-body{padding:20px}.reminder-upcoming-inbox{background:var(--surface-2)}.reminder-upcoming-inbox .table-wrap{max-height:680px;overflow:auto}.form,.field,.history-stack,.history-section,.notification-preview,.copy-box,.binding-link-inline{display:grid}.form{gap:14px}.field{gap:6px}.field label,.binding-link-inline label{color:var(--ink);font-size:13px;font-weight:600}.field small,.binding-link-inline small{color:var(--ink-muted);font-size:12px}.field input,.field textarea,.field select,.binding-link-inline input{inline-size:100%;max-inline-size:100%;border:1px solid var(--hairline-strong);border-radius:var(--radius);background:var(--control);min-height:44px;color:var(--ink);padding:9px 12px}.field input[type=checkbox]{inline-size:20px;min-height:20px;accent-color:var(--primary)}.field textarea{resize:vertical;min-height:104px}.field :is(input,textarea,select):focus,.binding-link-inline input:focus{outline-offset:1px;border-color:var(--focus);outline:3px solid #93a0ff4d}::placeholder{color:#858d9a;opacity:1}select option{background:var(--surface-2);color:var(--ink)}.field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.compact-row{grid-template-columns:minmax(0,1fr) minmax(96px,120px)}.reminder-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.reminder-time-grid .field:first-child{grid-column:1/-1}.lead-control{grid-template-columns:minmax(0,1fr) minmax(88px,112px);gap:8px;display:grid}.btn{min-height:42px;border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:#fff;text-align:center;justify-content:center;align-items:center;gap:7px;max-inline-size:100%;padding:8px 14px;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}.btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary,.btn-ghost{border-color:var(--hairline-strong);background:var(--surface-2);color:var(--ink)}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--focus);background:var(--surface-3)}.btn-danger{color:#fff;background:#852f35;border-color:#a94b4b}.btn-danger:hover{border-color:var(--danger);background:#a33c43}:is(.btn,button,a,input,select,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:2px}.status{min-height:22px;max-inline-size:100%;color:var(--ink-muted);font-size:14px}.status:not(:empty){border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}.status.error{color:#ffd9d9;background:#32171b;border-color:#8f4449}.status.ok:not(:empty){color:#d4ffe3;background:#112a1a;border-color:#27643d}.notification-preview,.copy-box,.binding-link-inline{background:var(--surface-2);gap:8px;padding:12px}.notification-preview,.copy-box{border:1px solid var(--hairline);border-radius:var(--radius)}.notification-preview ol{gap:4px;margin:0;padding-inline-start:24px;display:grid}.copy-box span{color:var(--ink-muted)}.binding-link-inline{border-left:3px solid var(--primary);margin-block-start:8px}.binding-link-inline>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.binding-reassignment-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-block-start:8px;display:grid}.table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;inline-size:100%;max-inline-size:100%;overflow-x:auto}table{inline-size:100%;border-collapse:collapse;min-width:680px}th,td{border-bottom:1px solid var(--hairline);color:var(--ink-muted);text-align:left;vertical-align:top;padding:11px 12px;font-size:14px;line-height:1.45}th{background:var(--surface-3);color:var(--ink);font-size:12px;font-weight:600}td strong{color:var(--ink)}code{color:#cbd1ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.badge{min-height:26px;border:1px solid var(--hairline-strong);background:var(--surface-2);max-inline-size:100%;color:var(--ink);border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.success{color:#caffdc;background:#153522;border-color:#2c7948}.badge.warning{color:#ffe4ac;background:#332713;border-color:#8f6b2d}.actions{align-items:stretch}.deleted-log{opacity:.82;background:#17191c}.history-stack{gap:24px}.history-section{gap:10px}.history-section-title h2{margin:0;font-size:18px}.toolbar{justify-content:space-between;margin-block-end:14px}@media (max-width:1024px){.page-grid,.admin-grid{grid-template-columns:1fr}.admin-people-panel,.admin-line-audit-panel,.admin-notification-log-panel{grid-column:auto}.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-upcoming-inbox .table-wrap{max-height:none}}@media (max-width:768px){.topbar{flex-direction:column;align-items:stretch;padding:12px 16px;position:static}.topbar-actions{justify-content:flex-start}.main{padding:16px}.field-row,.reminder-time-grid{grid-template-columns:1fr}.history-header{flex-direction:column}.table-wrap{overflow-x:visible}table{min-width:0}thead{display:none}tbody,tr,td{inline-size:100%;display:block}tr{border-bottom:1px solid var(--hairline);background:var(--surface-2);padding:12px}tr+tr{margin-block-start:10px}td{border:0;grid-template-columns:minmax(88px,.42fr) minmax(0,1fr);gap:10px;min-height:36px;padding:7px 0;display:grid}td:before{content:attr(data-label);color:var(--ink-subtle);font-weight:600}td[colspan]{display:block}td[colspan]:before{content:none}.actions .btn{flex:132px}}@media (max-width:430px){.main,.auth-page,.line-binding-page{padding:10px}.auth-panel,.line-binding-card,.panel-body,.panel-header{padding:14px}.brand{align-items:flex-start}.brand img{inline-size:132px}.brand-title strong{font-size:15px}.topbar-actions .btn,.topbar-actions .badge{flex:128px}.lead-control,.binding-link-inline>div,.binding-reassignment-controls,.line-binding-target>div,td{grid-template-columns:1fr}td:before{margin-block-end:2px}.actions{grid-template-columns:1fr;display:grid}.actions .btn{inline-size:100%}}@media (max-width:340px){.brand{flex-direction:column}.topbar-actions{grid-template-columns:1fr;display:grid}}@media (max-height:430px) and (orientation:landscape){.auth-page,.line-binding-page{place-items:start center;min-height:auto;padding:10px}.topbar{position:static}.line-binding-card{max-height:calc(100dvh - 20px);overflow-y:auto}}@media (pointer:coarse){.btn,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:44px}}
