:root{--bg:#f5f5f7;--bg-rgb:245, 245, 247;--surface:#ffffffd1;--surface-solid:#fff;--surface-soft:#f2f4f7;--ink:#1d1d1f;--muted:#6e6e73;--line:#0000001a;--accent:#007aff;--accent-strong:#005ecb;--green:#168a5b;--blue:#3478f6;--amber:#b26a00;--red:#c33f3f;--shadow:0 18px 50px #00000014;--body-bg:radial-gradient(circle at 12% 8%, #007aff1f, transparent 24%), radial-gradient(circle at 82% 0%, #34c7591a, transparent 20%), var(--bg)}:root[data-theme=dark]{--bg:#111318;--bg-rgb:17, 19, 24;--surface:#1d2027d6;--surface-solid:#1f232b;--surface-soft:#171a21;--ink:#f4f7fb;--muted:#a7b0bd;--line:#ffffff1f;--accent:#6aa8ff;--accent-strong:#9bc4ff;--green:#4cc38a;--blue:#78a8ff;--amber:#e0a43b;--red:#ff7b7b;--shadow:0 18px 50px #00000047;--body-bg:radial-gradient(circle at 10% 6%, #6aa8ff2e, transparent 26%), radial-gradient(circle at 88% 0%, #4cc38a1f, transparent 24%), var(--bg)}@media (prefers-color-scheme:dark){:root[data-theme=system]{--bg:#111318;--bg-rgb:17, 19, 24;--surface:#1d2027d6;--surface-solid:#1f232b;--surface-soft:#171a21;--ink:#f4f7fb;--muted:#a7b0bd;--line:#ffffff1f;--accent:#6aa8ff;--accent-strong:#9bc4ff;--green:#4cc38a;--blue:#78a8ff;--amber:#e0a43b;--red:#ff7b7b;--shadow:0 18px 50px #00000047;--body-bg:radial-gradient(circle at 10% 6%, #6aa8ff2e, transparent 26%), radial-gradient(circle at 88% 0%, #4cc38a1f, transparent 24%), var(--bg)}}*{box-sizing:border-box}body{background:var(--body-bg);color:var(--ink);letter-spacing:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Microsoft YaHei,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:268px minmax(0,1fr);gap:18px;min-height:100vh;padding:18px;display:grid}.sidebar{height:calc(100vh - 36px);color:var(--ink);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffb8;border:1px solid #fffc;border-radius:8px;flex-direction:column;gap:18px;padding:18px;display:flex;position:sticky;top:18px}.brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:2px 4px 16px;display:flex}.brand-mark{width:38px;height:38px;color:var(--accent);background:#e6f6f2;border-radius:8px;place-items:center;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand strong{font-size:16px}.brand span{color:var(--muted);margin-top:4px;font-size:12px}.nav-list{gap:8px;display:grid}.nav-list button,.role-card,.topbar-actions button,.export-actions button,.segmented button,.plan-cards button{border:0}.nav-list button{height:42px;color:var(--muted);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.nav-list button.active,.nav-list button:hover{color:var(--accent-strong);background:#007aff1a}.role-card{border:1px solid var(--line);background:#f5f5f7e6;border-radius:8px;gap:12px;margin-top:auto;padding:14px;display:grid}.role-card label{color:var(--muted);gap:8px;font-size:13px;display:grid}.role-card select{border:1px solid var(--line);background:var(--surface-solid);height:36px;color:var(--ink);border-radius:7px;padding:0 10px}.role-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.role-card>strong{font-size:15px;display:block}.role-card small{color:var(--muted);font-size:11px}.logout-button{border:1px solid var(--line);background:var(--surface-solid);min-height:34px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.login-screen{background:linear-gradient(120deg,#007aff1f,#0000 34%),radial-gradient(circle at 12% 15%,#34c75929,#0000 26%),radial-gradient(circle at 88% 18%,#007aff1f,#0000 28%),#f7f9fc;place-items:center;min-height:100vh;padding:32px;display:grid}.login-shell{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffad;border:1px solid #ffffffc7;border-radius:8px;grid-template-columns:minmax(0,1.08fr) minmax(380px,.72fr);width:min(1120px,100%);min-height:680px;display:grid;overflow:hidden;box-shadow:0 28px 80px #1f2e4429}.login-intro{background:linear-gradient(135deg,#ffffff6b,#ffffff29),radial-gradient(circle at 22% 18%,#007aff38,#0000 24%),radial-gradient(circle at 78% 74%,#34c7592e,#0000 28%);align-content:space-between;padding:42px;display:grid;position:relative;overflow:hidden}.login-intro:before{content:"";pointer-events:none;background-image:linear-gradient(#007aff14 1px,#0000 1px),linear-gradient(90deg,#007aff14 1px,#0000 1px);background-size:34px 34px;border:1px solid #007aff1f;border-radius:8px;position:absolute;inset:28px;-webkit-mask-image:linear-gradient(135deg,#000,#0000 72%);mask-image:linear-gradient(135deg,#000,#0000 72%)}.login-brand,.login-copy,.login-feature-grid{z-index:1;position:relative}.login-brand{border-bottom:0;padding:0}.login-copy{gap:16px;max-width:640px;margin-top:72px;display:grid}.login-kicker{color:#1764c8;background:#ffffffb3;border:1px solid #007aff2e;border-radius:8px;width:fit-content;padding:7px 10px;font-size:13px;font-weight:700}.login-copy h1{letter-spacing:0;max-width:720px;margin:0;font-size:clamp(34px,5vw,58px);line-height:1.06}.login-copy p{color:#506071;max-width:620px;margin:0;font-size:16px;line-height:1.8}.login-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:52px;display:grid}.login-feature-grid article{background:#ffffffb8;border:1px solid #00000014;border-radius:8px;gap:8px;min-height:132px;padding:14px;display:grid}.login-feature-grid svg{color:var(--accent)}.login-feature-grid strong,.login-feature-grid span{display:block}.login-feature-grid span{color:#617184;font-size:13px;line-height:1.6}.login-panel{background:#ffffffdb;border:1px solid #00000014;border-radius:8px;place-self:center;width:min(420px,100% - 48px);box-shadow:0 22px 54px #1f2e4424}.login-form{gap:16px;padding:30px;display:grid}.login-lock{width:42px;height:42px;color:var(--accent);background:#eef5ff;border-radius:8px;place-items:center;display:grid}.login-form h2,.login-form p{margin:0}.login-form h2{font-size:28px;line-height:1.2}.login-form p{color:var(--muted);line-height:1.7}.login-form label{color:var(--muted);gap:8px;font-size:13px;display:grid}.login-form input,.login-form select{border:1px solid var(--line);border-radius:7px;height:40px;padding:0 10px}.login-button{background:var(--accent);color:#fff;border:0;border-radius:8px;place-items:center;height:42px;font-weight:700;text-decoration:none;display:grid}.login-error{color:var(--red);background:#b4231814;border:1px solid #b423183d;border-radius:8px;padding:9px 11px;font-size:13px}.login-security-note{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:8px;padding-top:14px;font-size:12px;line-height:1.5;display:flex}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .panel,:root[data-theme=dark] .role-card,:root[data-theme=dark] .metric,:root[data-theme=dark] .timeline-node,:root[data-theme=dark] .country-stats div,:root[data-theme=dark] .map-summary span,:root[data-theme=dark] .map-legend span,:root[data-theme=dark] .map-distance-panel,:root[data-theme=dark] .map-point-card,:root[data-theme=dark] .person-card,:root[data-theme=dark] .permission-summary article,:root[data-theme=dark] .transfer-box{background:#1f232bc7}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select,:root[data-theme=dark] .ghost,:root[data-theme=dark] .logout-button,:root[data-theme=dark] .icon-action,:root[data-theme=dark] .table-action,:root[data-theme=dark] .theme-switch{color:var(--ink);background:#16191feb}@media (prefers-color-scheme:dark){:root[data-theme=system] .sidebar,:root[data-theme=system] .panel,:root[data-theme=system] .role-card,:root[data-theme=system] .metric,:root[data-theme=system] .timeline-node,:root[data-theme=system] .country-stats div,:root[data-theme=system] .map-summary span,:root[data-theme=system] .map-legend span,:root[data-theme=system] .map-distance-panel,:root[data-theme=system] .map-point-card,:root[data-theme=system] .person-card,:root[data-theme=system] .permission-summary article,:root[data-theme=system] .transfer-box{background:#1f232bc7}:root[data-theme=system] input,:root[data-theme=system] textarea,:root[data-theme=system] select,:root[data-theme=system] .ghost,:root[data-theme=system] .logout-button,:root[data-theme=system] .icon-action,:root[data-theme=system] .table-action,:root[data-theme=system] .theme-switch{color:var(--ink);background:#16191feb}}.workspace{min-width:0;padding:8px 6px 24px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding:4px 2px;display:flex}.topbar h1{margin:0;font-size:30px;font-weight:760;line-height:1.2}.topbar p{color:var(--muted);margin:8px 0 0}.travel-window{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.travel-window span,.linkage-note,.permission-chips span{border:1px solid var(--line);background:#ffffffb8;border-radius:8px}.travel-window span{color:var(--muted);padding:7px 10px;font-size:12px}.topbar-actions,.export-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.theme-switch{border:1px solid var(--line);background:#ffffff94;border-radius:8px;gap:3px;padding:3px;display:inline-flex}.theme-switch button{height:30px;color:var(--muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.theme-switch button.active{color:var(--accent-strong);background:var(--surface-solid);box-shadow:0 4px 14px #191f2a14}.status{color:var(--muted);font-size:13px}.topbar-actions button,.export-actions button{border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 14px;display:inline-flex}.topbar-actions .theme-switch button{border-radius:7px;gap:5px;height:30px;padding:0 8px}.primary{background:var(--accent);color:#fff}.primary:disabled,button:disabled,input:disabled{opacity:.58;cursor:not-allowed}.ghost,.export-actions button{color:var(--ink);background:var(--surface-solid);border:1px solid var(--line)}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;display:grid}.transport-layout{grid-template-columns:260px minmax(0,1fr);gap:16px;display:grid}.config-layout{gap:16px;display:grid}.transport-layout{grid-template-columns:minmax(340px,.5fr) minmax(0,1fr)}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:8px;min-width:0;padding:18px}.wide{grid-column:1/-1}.section-title{align-items:center;gap:10px;margin-bottom:16px;display:flex}.section-title h2{margin:0;font-size:18px}.section-title p{color:var(--muted);margin:4px 0 0;font-size:13px}.section-title.split{justify-content:space-between;align-items:flex-start}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.hidden-file-input{display:none}.icon-action,.table-action{border:1px solid var(--line);background:var(--surface-solid);min-height:34px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.icon-action.danger{color:var(--red);background:#d236410f;border-color:#d236413d}.icon-action.danger:disabled{color:var(--muted);border-color:var(--line);background:#ffffff9e}.table-action{width:34px;padding:0}.table-action.saved{color:var(--muted);background:#ffffff9e}.subtab-list{flex-wrap:wrap;gap:8px;display:flex}.subtab-list button{height:40px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;padding:0 14px;display:flex}.subtab-list button.active,.subtab-list button:hover{color:var(--accent-strong);background:#007aff1a;border-color:#007aff24}.metric-row{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;display:grid}.metric{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:16px}.metric strong,.metric span{display:block}.metric strong{font-size:28px;font-weight:760}.linkage-note{color:var(--muted);align-items:center;gap:9px;margin-top:14px;padding:10px 12px;font-size:13px;display:flex}.metric span{color:var(--muted);margin-top:5px}.timeline-strip{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:18px;display:grid}.timeline-node{border-left:4px solid var(--accent);background:#ffffffa8;border-radius:8px;gap:5px;min-height:94px;padding:12px;display:grid}.timeline-node.exhibition{border-color:var(--blue)}.timeline-node.setup{border-color:var(--amber)}.timeline-node.service{border-color:var(--green)}.timeline-node span,.timeline-node em{color:var(--muted);font-size:13px;font-style:normal}.compact-list,.rule-list{gap:10px;display:grid}.country-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.country-stats div{border:1px solid var(--line);background:#ffffffb3;border-radius:8px;padding:12px}.country-stats strong,.country-stats span{display:block}.country-stats span{color:var(--muted);margin-top:6px;font-size:13px}.map-page{gap:18px;display:grid}.map-summary,.map-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.map-summary span,.map-legend span{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#ffffffb8;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:13px;display:inline-flex}.map-legend{justify-content:flex-start;margin-bottom:12px}.map-tile-provider{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#ffffffb8;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:13px;display:inline-flex}.map-tile-provider select{border:1px solid var(--line);background:var(--surface);height:26px;color:var(--ink);font:inherit;border-radius:7px;padding:0 26px 0 9px}.map-tile-notice{color:#8a5b08;background:#fff6e0d1;border:1px solid #b0741247;border-radius:8px;margin:-2px 0 12px;padding:9px 12px;font-size:13px}:root[data-theme=dark] .map-tile-notice{color:#fde68a;background:#78530838;border-color:#facc1547}@media (prefers-color-scheme:dark){:root[data-theme=system] .map-tile-notice{color:#fde68a;background:#78530838;border-color:#facc1547}}.map-distance-panel{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.map-distance-panel div{gap:4px;display:grid}.map-distance-panel span{color:var(--muted);font-size:13px}.legend-dot{border-radius:99px;width:10px;height:10px;display:inline-block}.legend-dot.exhibition,.map-marker.exhibition{background:var(--blue)}.legend-dot.workOrder,.map-marker.workOrder{background:var(--green)}.legend-dot.uncertain,.map-marker.uncertain{background:var(--amber)}.planner-map{border:1px solid var(--line);background:#eef3f8;border-radius:8px;width:100%;height:min(62vh,620px);min-height:420px;overflow:hidden}.map-marker{color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:inline-grid;box-shadow:0 10px 22px #191f2a38}.map-marker.selected{transform:scale(1.12);box-shadow:0 0 0 5px #3478f638,0 16px 30px #191f2a47}.map-marker.focused{outline-offset:2px;outline:3px solid #fffffff5}.map-marker.uncertain{color:#2e2308}.map-fallback,.empty-state{min-height:180px;color:var(--muted);text-align:center;place-items:center;display:grid}.map-point-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.map-point-card{border:1px solid var(--line);border-left:4px solid var(--green);text-align:left;color:var(--ink);cursor:pointer;background:#ffffffbd;border-radius:8px;gap:8px;padding:13px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.map-point-card.exhibition{border-left-color:var(--blue)}.map-point-card.uncertain{border-left-color:var(--amber);background:#fff1d885}.map-point-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px #191f2a1a}.map-point-card.selected{border-color:#3478f694;box-shadow:0 0 0 3px #3478f624,0 16px 34px #191f2a1f}.map-point-card strong,.map-point-card span,.map-point-card p,.map-point-card em{display:block}.map-point-owner{margin-top:4px;font-weight:600;color:var(--ink)!important}.map-point-card span,.map-point-card p,.map-point-card em{color:var(--muted);font-size:13px;line-height:1.5}.map-point-card p,.map-point-card em{margin:0}.map-point-card em{font-style:normal}.compact-list div,.rule-list span{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.compact-list span{color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:940px}.orders-table table{min-width:1380px}.orders-table th:nth-child(5),.orders-table td:nth-child(5){min-width:300px}th{text-align:left;color:var(--muted);background:#f5f5f7d1;font-size:12px;font-weight:700}th,td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px}td input,td textarea,td select,.form-grid input,.form-grid select,.split-inputs input{border:1px solid var(--line);background:#ffffffe0;border-radius:7px;width:100%;min-height:34px;padding:7px 9px}td textarea{resize:vertical;min-height:54px;line-height:1.45}.order-issue-input{min-height:86px;max-height:220px;overflow:auto}td input[type=checkbox]{width:18px}.split-inputs{grid-template-columns:.8fr 1fr;gap:6px;display:grid}.muted-row{color:#8997a6;background:#fafafa}.people-grid,.permission-summary{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.person-card,.permission-summary article{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:14px}.person-card{gap:12px;display:grid}.person-card strong,.person-card span,.person-card label{display:block}.person-card span{color:var(--muted);margin-top:4px;font-size:13px}.person-card label{color:var(--muted);font-size:12px}.person-card label input,.person-card label select{margin-top:7px}.person-card input,.person-card select{border:1px solid var(--line);background:#ffffffe0;border-radius:7px;width:100%;min-height:34px;padding:7px 9px}.card-head{justify-content:space-between;gap:10px;display:flex}.card-head button{border:1px solid var(--line);background:var(--surface-solid);width:32px;height:32px;color:var(--muted);border-radius:8px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,240px));gap:12px;display:grid}.form-grid label{color:var(--muted);gap:8px;font-size:13px;display:grid}.toggle-row{align-items:center;color:var(--ink)!important;display:flex!important}.toggle-row.light{gap:8px;font-size:13px}.rules-groups{gap:14px;display:grid}.rule-group{border:1px solid var(--line);background:#ffffff9e;border-radius:8px;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:16px;display:grid}.rule-group h3,.rule-group p{margin:0}.rule-group h3{font-size:16px}.rule-group p{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.65}.wide-field{grid-column:span 2;max-width:500px}.attendee-matrix,.meeting-checks{gap:7px;display:grid}.attendee-matrix{grid-template-columns:repeat(2,minmax(96px,1fr));min-width:260px}.attendee-matrix label,.meeting-checks label{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.attendee-matrix input,.meeting-checks input{flex:none;width:16px;min-height:16px}.attendee-matrix label{min-height:28px}.meeting-checks{border-top:1px solid var(--line);padding-top:10px}.meeting-checks>span{color:var(--ink);font-size:13px;font-weight:700}.lookup-box{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lookup-box label{color:var(--muted);gap:8px;font-size:13px;display:grid}.lookup-box input{border:1px solid var(--line);background:#ffffffe6;border-radius:8px;min-height:38px;padding:8px 10px}.lookup-links{gap:9px;margin-top:14px;display:grid}.lookup-links a{border:1px solid var(--line);min-height:38px;color:var(--accent-strong);background:#ffffffbd;border-radius:8px;align-items:center;gap:8px;padding:0 11px;text-decoration:none;display:flex}.lookup-note{color:var(--muted);font-size:13px;line-height:1.65}.auto-leg-list{gap:10px;margin-bottom:16px;display:grid}.auto-leg-card{border:1px solid var(--line);background:#ffffffa8;border-radius:8px;grid-template-columns:minmax(150px,1.1fr) minmax(150px,1fr) minmax(110px,auto) auto;align-items:center;gap:12px;padding:12px;display:grid}.auto-leg-card strong,.auto-leg-card span,.auto-leg-card em{display:block}.auto-leg-card span,.auto-leg-card em{color:var(--muted);margin-top:3px;font-size:12px;font-style:normal}.auto-leg-card .table-action{width:auto;min-width:58px;padding:0 10px}.empty-state{border:1px dashed var(--line);color:var(--muted);background:#ffffff7a;border-radius:8px;padding:14px}.toggle-row input{width:18px}.plans-layout{grid-template-columns:1fr;gap:16px;display:grid}.plan-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.plan-cards button{text-align:left;border:1px solid var(--line);background:#ffffffb3;border-radius:8px;gap:8px;padding:14px;display:grid}.plan-cards button.selected{border-color:var(--accent);background:#007aff17}.permission-summary{margin-bottom:16px}.permission-summary article{gap:8px;display:grid}.permission-summary article.selected{border-color:var(--accent);background:#007aff14}.permission-summary span{color:var(--muted);font-size:13px;line-height:1.6}.permission-chips{min-width:260px}.permission-chips span{color:var(--muted);margin:0 6px 6px 0;padding:4px 7px;font-size:12px;display:inline-flex}.plan-cards span,.plan-cards em{color:var(--muted);font-size:13px;font-style:normal;line-height:1.5}.export-actions{justify-content:stretch;margin-top:16px}.export-actions button{flex:1;justify-content:center}.segmented{background:var(--surface-soft);border-radius:8px;padding:3px;display:inline-flex}.segmented button{background:0 0;border-radius:6px;height:32px;padding:0 14px}.segmented button.active{background:#fff;box-shadow:0 2px 8px #15202e14}.calendar-grid{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(7,minmax(104px,1fr));display:grid;overflow:hidden}.calendar-legend{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.calendar-legend span{border:1px solid var(--line);background:#ffffffc2;border-radius:8px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;display:inline-flex}.calendar-legend span:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.calendar-legend .service{color:var(--green)}.calendar-legend .setup{color:var(--amber)}.calendar-legend .exhibition,.calendar-legend .travel{color:var(--blue)}.calendar-head{color:var(--muted);background:#f1f5f8;padding:10px;font-size:13px;font-weight:700}.calendar-cell{border-top:1px solid var(--line);border-right:1px solid var(--line);align-content:start;gap:7px;min-height:118px;padding:9px;display:grid}.calendar-cell.weekend{background:#f8f2f2}.calendar-cell strong{font-size:13px}.calendar-cell span,.kind-pill{border-radius:6px;align-items:center;width:fit-content;padding:4px 6px;font-size:12px;line-height:1.2;display:inline-flex}.calendar-event{border-radius:8px;gap:4px;width:100%;padding:7px;font-size:12px;line-height:1.35;display:grid}.calendar-event.service{color:var(--green);background:#168a5b1a}.calendar-event.setup{color:var(--amber);background:#b26a001a}.calendar-event.exhibition,.calendar-event.travel{color:var(--blue);background:#3478f61a}.calendar-event strong,.calendar-event span,.calendar-event em{display:block}.calendar-event span,.calendar-event em{color:var(--muted);font-style:normal}.transfer-line{color:var(--ink);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px;font-size:11px;display:grid}.transfer-line b{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.transfer-line i{color:var(--muted);font-style:normal}.calendar-cell .service,.kind-pill.service{color:var(--green);background:#168a5b1f}.calendar-cell .setup,.kind-pill.setup{color:var(--amber);background:#fff1d8}.calendar-cell .exhibition,.kind-pill.exhibition{color:var(--blue);background:#e8f0ff}.reason-cell{min-width:240px;color:var(--muted);font-size:13px;line-height:1.6}.itinerary-list{gap:10px;display:grid}.itinerary-card{border:1px solid var(--line);border-left:4px solid var(--green);background:#ffffffc7;border-radius:8px;grid-template-columns:148px minmax(260px,1.2fr) minmax(230px,.8fr) minmax(260px,1fr);align-items:start;gap:14px;padding:14px;display:grid}.itinerary-card.setup{border-left-color:var(--amber)}.itinerary-card.exhibition,.itinerary-card.travel{border-left-color:var(--blue)}.itinerary-date,.itinerary-main,.transfer-box,.reason-box{gap:8px;display:grid}.itinerary-date input{border:1px solid var(--line);background:#ffffffe6;border-radius:7px;min-height:34px;padding:7px 9px}.itinerary-main strong{font-size:15px}.itinerary-main textarea{border:1px solid var(--line);resize:vertical;background:#ffffffe6;border-radius:7px;width:100%;min-height:58px;padding:8px 10px;line-height:1.45}.people-line,.transfer-box span,.transfer-box em,.reason-box span{color:var(--muted);font-size:13px;line-height:1.55}.transfer-box{background:#f5f5f7db;border-radius:8px;padding:10px}.transfer-box strong{font-size:15px}.transfer-box em{font-style:normal}.reason-box strong{color:var(--red);font-size:13px}.conflict-cell{min-width:140px;color:var(--red);font-size:13px}.plan-table{min-width:1280px}.plan-table td:nth-child(4){min-width:230px}.plan-table td:nth-child(7){min-width:320px}:root[data-theme=dark] .travel-window span,:root[data-theme=dark] .linkage-note,:root[data-theme=dark] .permission-chips span,:root[data-theme=dark] .metric,:root[data-theme=dark] .timeline-node,:root[data-theme=dark] .country-stats div,:root[data-theme=dark] .lookup-links a,:root[data-theme=dark] .auto-leg-card,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .plan-cards button,:root[data-theme=dark] .rule-group,:root[data-theme=dark] .calendar-legend span,:root[data-theme=dark] .calendar-head,:root[data-theme=dark] .itinerary-card,:root[data-theme=dark] .permission-summary article,:root[data-theme=dark] th{color:var(--ink);background:#242933e6;border-color:#ffffff24}:root[data-theme=dark] .lookup-box input,:root[data-theme=dark] td input,:root[data-theme=dark] td textarea,:root[data-theme=dark] td select,:root[data-theme=dark] .form-grid input,:root[data-theme=dark] .form-grid select,:root[data-theme=dark] .split-inputs input,:root[data-theme=dark] .person-card input,:root[data-theme=dark] .person-card select,:root[data-theme=dark] .role-card select{color:var(--ink);background:#12151cf5;border-color:#ffffff29}:root[data-theme=dark] .table-action.saved,:root[data-theme=dark] .icon-action.danger:disabled,:root[data-theme=dark] .muted-row,:root[data-theme=dark] .calendar-cell.weekend{color:var(--muted);background:#2c313cb8}:root[data-theme=dark] .segmented button.active,:root[data-theme=dark] .theme-switch button.active{color:var(--accent-strong);background:#343c4af0}:root[data-theme=dark] .calendar-cell .service,:root[data-theme=dark] .calendar-event.service,:root[data-theme=dark] .kind-pill.service{color:#7ee0ad;background:#4cc38a2e}:root[data-theme=dark] .calendar-cell .setup,:root[data-theme=dark] .calendar-event.setup,:root[data-theme=dark] .kind-pill.setup{color:#f0bf64;background:#e0a43b2e}:root[data-theme=dark] .calendar-cell .exhibition,:root[data-theme=dark] .calendar-event.exhibition,:root[data-theme=dark] .calendar-event.travel,:root[data-theme=dark] .kind-pill.exhibition{color:#a8c8ff;background:#78a8ff2e}:root[data-theme=dark] .auto-leg-card span,:root[data-theme=dark] .auto-leg-card em,:root[data-theme=dark] .lookup-note,:root[data-theme=dark] .reason-cell,:root[data-theme=dark] .calendar-event span,:root[data-theme=dark] .calendar-event em{color:#c4ccd8}@media (prefers-color-scheme:dark){:root[data-theme=system] .travel-window span,:root[data-theme=system] .linkage-note,:root[data-theme=system] .permission-chips span,:root[data-theme=system] .metric,:root[data-theme=system] .timeline-node,:root[data-theme=system] .country-stats div,:root[data-theme=system] .lookup-links a,:root[data-theme=system] .auto-leg-card,:root[data-theme=system] .empty-state,:root[data-theme=system] .plan-cards button,:root[data-theme=system] .rule-group,:root[data-theme=system] .calendar-legend span,:root[data-theme=system] .calendar-head,:root[data-theme=system] .itinerary-card,:root[data-theme=system] .permission-summary article,:root[data-theme=system] th{color:var(--ink);background:#242933e6;border-color:#ffffff24}:root[data-theme=system] .lookup-box input,:root[data-theme=system] td input,:root[data-theme=system] td textarea,:root[data-theme=system] td select,:root[data-theme=system] .form-grid input,:root[data-theme=system] .form-grid select,:root[data-theme=system] .split-inputs input,:root[data-theme=system] .person-card input,:root[data-theme=system] .person-card select,:root[data-theme=system] .role-card select{color:var(--ink);background:#12151cf5;border-color:#ffffff29}:root[data-theme=system] .table-action.saved,:root[data-theme=system] .icon-action.danger:disabled,:root[data-theme=system] .muted-row,:root[data-theme=system] .calendar-cell.weekend{color:var(--muted);background:#2c313cb8}:root[data-theme=system] .segmented button.active,:root[data-theme=system] .theme-switch button.active{color:var(--accent-strong);background:#343c4af0}:root[data-theme=system] .calendar-cell .service,:root[data-theme=system] .calendar-event.service,:root[data-theme=system] .kind-pill.service{color:#7ee0ad;background:#4cc38a2e}:root[data-theme=system] .calendar-cell .setup,:root[data-theme=system] .calendar-event.setup,:root[data-theme=system] .kind-pill.setup{color:#f0bf64;background:#e0a43b2e}:root[data-theme=system] .calendar-cell .exhibition,:root[data-theme=system] .calendar-event.exhibition,:root[data-theme=system] .calendar-event.travel,:root[data-theme=system] .kind-pill.exhibition{color:#a8c8ff;background:#78a8ff2e}:root[data-theme=system] .auto-leg-card span,:root[data-theme=system] .auto-leg-card em,:root[data-theme=system] .lookup-note,:root[data-theme=system] .reason-cell,:root[data-theme=system] .calendar-event span,:root[data-theme=system] .calendar-event em{color:#c4ccd8}}@media (max-width:980px){.login-shell{grid-template-columns:1fr;min-height:auto}.login-intro{padding:30px}.login-copy{margin-top:40px}.login-feature-grid{grid-template-columns:1fr;margin-top:32px}.login-panel{width:calc(100% - 48px);margin:24px}.app-shell{grid-template-columns:1fr}.sidebar{position:static}.content-grid,.plans-layout,.config-layout,.transport-layout,.rule-group{grid-template-columns:1fr}.topbar{flex-direction:column}.metric-row,.timeline-strip,.plan-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{height:auto;position:static}.itinerary-card,.auto-leg-card{grid-template-columns:1fr}}@media (max-width:640px){.workspace{padding:18px 14px}.login-screen{padding:16px}.login-intro{padding:22px}.login-panel{width:calc(100% - 28px);margin:14px}.login-form{padding:22px}.topbar-actions{justify-content:flex-start}.plan-table,.plan-table tbody,.plan-table tr,.plan-table td{width:100%;min-width:0;display:block}.plan-table thead{display:none}.plan-table tr{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:10px;padding:10px}.plan-table td{border-bottom:0;padding:7px 0}.plan-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.plan-table td:nth-child(4),.plan-table td:nth-child(7){min-width:0}.plan-cards{grid-template-columns:1fr}}
