/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}}:root{--ink:#15231c;--muted:#68746d;--paper:#f2f0e7;--panel:#fffdf7;--green:#195f47;--green-2:#28775a;--green-soft:#eaf1e9;--lime:#dff36a;--line:#d8d5c9;--amber:#a9681e;--red:#a64637;--shadow:0 12px 30px #2a362e14}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:11px;height:58px;padding:0 26px;display:flex}.topbar p{color:var(--muted);margin:2px 0 0;font-size:11px}.brand-mark{color:#fff;background:var(--green);border:0;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.privacy-chip{color:var(--green);border:1px solid #cbd7cc;border-radius:999px;margin-left:auto;padding:6px 10px;font-size:11px}.text-button{color:var(--muted);background:0 0;border:0;font-size:11px}.history-button{color:var(--green);background:#f3f7f1;border:1px solid #cbd7cc;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700}.process-nav{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f5;grid-template-columns:190px minmax(600px,1fr) 76px;align-items:center;gap:24px;min-height:64px;padding:8px 26px;display:grid;position:sticky;top:0}.class-name{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #0000;padding:6px 0;font:700 23px Georgia,Songti SC,serif}.class-name:focus{border-color:var(--green);outline:0}.class-name-wrap{min-width:0}.class-name-wrap small{color:var(--red);font-size:9px;display:block}.step-tabs{grid-template-columns:repeat(5,minmax(110px,1fr));gap:6px;display:grid}.step-tabs button{color:#707a74;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:7px 10px;display:flex}.step-tabs button i{border:1px solid var(--line);border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-style:normal;display:grid}.step-tabs button span{font-size:12px;font-weight:700}.step-tabs button.done{color:var(--green);background:#f0f4ed}.step-tabs button.active{color:#fff;background:var(--green)}.step-tabs button.active i{border-color:#fff6}.class-summary{text-align:right}.class-summary b{color:var(--green);font:800 28px Georgia,serif;display:block}.class-summary span{color:var(--muted);font-size:10px}.main-panel{padding:18px 24px 42px}.status-bar{color:#4b6355;background:#edf4ea;border:1px solid #d1ded2;border-radius:9px;max-width:1480px;margin:0 auto 12px;padding:9px 12px;font-size:11px}.status-bar span{color:var(--green);margin-right:7px}.flow-panel,.board-panel{max-width:1480px;margin:auto}.compact-panel{border:1px solid var(--line);background:#fffdf78c;border-radius:18px;padding:18px 22px 20px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.eyebrow{color:#6b776f;letter-spacing:.1em;margin:0 0 5px;font-size:10px;font-weight:800}.panel-heading h1,.arrangement-head h1{margin:0 0 5px;font:700 28px/1.18 Georgia,Songti SC,serif}.panel-heading p:not(.eyebrow),.arrangement-head p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.big-count{color:var(--green);white-space:nowrap;font:800 42px Georgia,serif}.big-count small{color:var(--muted);text-align:right;font:10px Arial,sans-serif;display:block}.class-reminder{border-left:4px solid var(--amber);color:#6f542d;background:#f8edd9;border-radius:7px;gap:9px;margin:-3px 0 12px;padding:9px 12px;font-size:10px;display:flex}.class-reminder b{white-space:nowrap}.primary-button,.ghost-button,.parse-button{border-radius:9px;min-height:38px;padding:9px 16px;font-weight:750}.primary-button,.parse-button{color:#fff;background:var(--green);border:0}.primary-button:hover,.parse-button:hover{background:var(--green-2)}.ghost-button{border:1px solid var(--green);color:var(--green);background:0 0}.ghost-button.small{min-height:32px;padding:6px 10px;font-size:11px}.primary-button:disabled,.ghost-button:disabled,.parse-button:disabled{opacity:.45;cursor:not-allowed}.action-row{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.unified-import{background:var(--panel);box-shadow:var(--shadow);border:1px solid #cfd2c7;border-radius:13px;overflow:hidden}.unified-import.drop-active{border-color:var(--green);box-shadow:0 0 0 4px #18644c1f, var(--shadow);background:#f4f8f1}.unified-import textarea{resize:vertical;background:0 0;border:0;outline:0;width:100%;min-height:112px;padding:15px 17px;line-height:1.65}.drop-hint{color:#526159;pointer-events:none;background:#f4f6ef;border:1px dashed #bdc9bd;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 10px 8px;padding:9px 12px;font-size:10px;display:flex}.drop-hint b{color:var(--green)}.drop-hint span{color:var(--muted)}.drop-hint .ai-config-status{color:#67736b;font-weight:700}.drop-hint .ai-config-status.configured{color:var(--green)}.drop-hint .ai-config-status.missing{color:#9a5d28}.import-toolbar{background:#f8f7f0;border-top:1px solid #e6e3d8;justify-content:space-between;align-items:center;min-height:48px;padding:7px 9px;display:flex}.import-toolbar>div{gap:5px;display:flex}.import-toolbar>div button{color:#526159;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:11px}.import-toolbar>div button:hover{color:var(--green);background:var(--green-soft)}.upload-icon{vertical-align:-1px;margin-right:5px;font-size:17px}.student-preview,.rules-list,.history-list{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin-top:14px;overflow:hidden}.section-title{border-bottom:1px solid var(--line);background:#eeede5;justify-content:space-between;align-items:center;min-height:38px;padding:9px 13px;font-size:11px;display:flex}.section-title span{color:var(--muted);font-size:10px}.table-scroll{max-height:310px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}thead{z-index:2;position:sticky;top:0}th{color:#4e5d54;text-align:left;white-space:nowrap;background:#f7f5ee;padding:9px 10px}td{color:#667169;white-space:nowrap;border-top:1px solid #eeece2;padding:7px 10px}td:first-child{color:var(--ink);font-weight:700}td input,td select{width:100%;min-width:82px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;padding:5px 6px;font-size:11px}td input:focus,td select:focus{background:#fff;border-color:#8aad99;outline:0}td:first-child input{font-weight:800}.delete-button{color:var(--red);background:0 0;border:0;padding:4px 7px;font-size:10px}.layout-summary{gap:8px;display:flex}.layout-summary span{min-width:62px;color:var(--muted);text-align:center;background:#eaf0e7;border-radius:10px;padding:8px 10px;font-size:10px}.layout-summary b{color:var(--green);font-size:19px;display:block}.layout-summary span.balanced{background:#dfeedd}.layout-summary span.mismatch{background:#f7e7d4}.layout-summary span.mismatch b{color:var(--amber)}.layout-toolbar{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;gap:14px;margin-bottom:10px;padding:9px 11px;display:flex}.preset-buttons{align-items:center;gap:5px;display:flex}.preset-buttons>span{color:var(--muted);margin-right:5px;font-size:11px}.preset-buttons button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;padding:6px 10px;font-size:11px}.preset-buttons button.active{border-color:var(--green);color:#fff;background:var(--green)}.check-option{color:#526158;align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex}.check-option input{accent-color:var(--green)}.row-control{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.row-control button,.row-control input{border:1px solid var(--line);text-align:center;background:#fff;width:29px;height:29px}.row-control button:first-of-type{border-radius:7px 0 0 7px}.row-control button:last-child{border-radius:0 7px 7px 0}.row-control input{border-inline:0;width:40px}.capacity-callout{border-left:4px solid var(--amber);color:#7d551f;background:#f7eedc;margin:10px 0 0;padding:10px 12px;font-size:11px}.capacity-callout.error{border-left-color:var(--red);color:var(--red);background:#f6e8e4}.aisle-settings{background:#ebeae2;border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:9px 11px;display:flex}.aisle-settings>b{color:#536158;white-space:nowrap;font-size:11px}.aisle-settings>div{flex-wrap:wrap;gap:4px;display:flex}.aisle-settings button{color:#77817b;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 8px;font-size:9px}.aisle-settings button.active{color:var(--green);background:#fff;border-color:#b0c4b5}.classroom-canvas{--seam-width:4px;--aisle-width:23px;--aisle-margin:4px;--aisle-total:31px;background:#e9e8df;border:1px solid #d2d2c7;border-radius:15px;padding:13px;box-shadow:inset 0 1px #fff}.podium-zone{grid-template-columns:var(--podium-seat-width) minmax(220px, 340px) var(--podium-seat-width);justify-content:space-between;align-items:stretch;column-gap:0;width:100%;margin:0 auto 13px;display:grid}.podium-side-placeholder{min-height:46px}.teacher-desk{color:#385847;text-align:center;background:#dce6dc;border:1px solid #9eb4a5;border-radius:8px 8px 18px 18px;place-content:center;min-height:46px;padding:7px;display:grid}.teacher-desk b{letter-spacing:.25em;font-size:13px}.teacher-desk span{color:#6d7a72;margin-top:2px;font-size:9px}.classroom-rows{gap:7px;display:grid}.classroom-row{align-items:stretch;display:flex}.seat-cell{flex:1 1 0;min-width:0}.column-gap{flex:0 0 var(--seam-width)}.column-gap.desk-seam{position:relative}.column-gap.desk-seam:after{content:"";border-left:1px dashed #c8c6bb;position:absolute;inset:12% 1px}.column-gap.aisle{flex-basis:var(--aisle-width);margin:0 var(--aisle-margin);background:repeating-linear-gradient(135deg,#707d7417 0 3px,#0000 3px 7px);border-radius:5px}.layout-seat{width:100%;min-height:54px;color:var(--ink);background:var(--panel);border:1px solid #cfcec3;border-radius:8px;padding:7px}.layout-seat b,.layout-seat span{display:block}.layout-seat b{font-size:11px}.layout-seat span{color:#8a928c;margin-top:3px;font-size:8px}.layout-seat:hover{border-color:var(--green)}.layout-seat.disabled{color:#9b8178;background:#ddd9d0;border-style:dashed}.podium-side-seat{min-height:46px}.error-callout{border-left:4px solid var(--red);color:var(--red);background:#f6e8e4;padding:10px 12px;font-size:11px}.history-switch{background:#edf4ea;border:1px solid #ccdacd;border-radius:10px;align-items:center;gap:9px;min-width:208px;padding:10px 12px;display:flex}.history-switch input{accent-color:var(--green)}.history-switch span b,.history-switch span small{display:block}.history-switch span b{font-size:11px}.history-switch span small{color:var(--muted);margin-top:3px;font-size:9px}.tooltip-control{position:relative}.tooltip-control b button{width:18px;height:18px;color:var(--green);background:#fff;border:1px solid #aac0af;border-radius:50%;padding:0;font-size:10px}.tooltip-text{z-index:50;visibility:hidden;opacity:0;color:#fff;width:300px;box-shadow:var(--shadow);background:#243c31;border-radius:9px;padding:10px 12px;font-size:10px;line-height:1.55;transition:all .16s;position:absolute;top:calc(100% + 7px);right:0}.tooltip-control:hover .tooltip-text,.tooltip-control:focus-within .tooltip-text{visibility:visible;opacity:1}.rule-workspace{grid-template-columns:minmax(420px,1.25fr) minmax(370px,1fr);gap:12px;display:grid}.rule-compose{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden}.rule-compose textarea{resize:vertical;border:0;outline:0;width:100%;min-height:164px;padding:15px;font:16px/1.65 Georgia,Songti SC,serif}.prompt-chips{border-top:1px solid #ece9df;flex-wrap:wrap;gap:5px;padding:7px 10px;display:flex}.prompt-chips button{border:1px solid var(--line);color:#526159;background:#faf9f3;border-radius:999px;padding:5px 8px;font-size:9px}.prompt-chips button.active{color:var(--green);background:var(--green-soft);border-color:#77a187;box-shadow:inset 0 0 0 1px #18644c14}.parse-button{width:calc(100% - 20px);margin:3px 10px 10px}.rules-list{margin-top:0}.rule-row{border-top:1px solid #ece9df;grid-template-columns:52px 1fr 42px;align-items:center;gap:9px;min-height:55px;padding:8px 10px;display:grid}.level-toggle{border:0;border-radius:7px;padding:6px 5px;font-size:10px;font-weight:800}.level-toggle.hard{color:#8f4033;background:#f6e3dd}.level-toggle.soft{color:#35644c;background:#e4efe5}.rule-row>div b,.rule-row>div span{display:block}.rule-row>div b{font-size:11px}.rule-row>div span{color:var(--muted);margin-top:3px;font-size:9px}.remove-rule{color:#9a6258;background:0 0;border:0;font-size:9px}.empty-state{color:var(--muted);text-align:center;padding:30px 16px;font-size:11px}.rule-note{color:#5f6b64;background:#ebeae2;border-radius:9px;margin-top:10px;padding:9px 11px;font-size:10px}.rule-note b{color:var(--ink);margin-right:8px}.board-panel{max-width:1560px}.arrangement-head{justify-content:space-between;align-items:center;gap:20px;margin:2px 0 11px;display:flex}.score-badge{background:var(--lime);text-align:center;border-radius:50%;place-content:center;width:74px;height:74px;display:grid}.score-badge strong{font:800 25px Georgia,serif}.score-badge span{font-size:8px}.board-toolbar{grid-template-columns:1fr auto;align-items:end;gap:12px;margin-bottom:10px;display:grid}.candidate-tabs{grid-template-columns:repeat(3,minmax(190px,1fr));gap:7px;display:grid}.candidate-tabs button{border:1px solid var(--line);min-height:64px;color:var(--muted);background:var(--panel);text-align:left;border-radius:10px;padding:9px 11px}.candidate-tabs button span,.candidate-tabs button small{display:block}.candidate-tabs button span{color:var(--ink);font-size:11px;font-weight:800}.candidate-tabs button b{opacity:0;position:absolute}.candidate-tabs button small{margin-top:5px;font-size:9px}.candidate-tabs button.active{border-color:var(--green);background:#edf4ea;box-shadow:0 0 0 2px #195f471a}.candidate-tabs button.active span{color:var(--green)}.candidate-tabs .empty-candidate{text-align:center;grid-column:1/-1}.display-options{align-items:center;gap:9px;display:flex}.display-options label{color:#5c6961;white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:flex}.display-options input{accent-color:var(--green)}.display-options button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:7px;padding:7px 9px;font-size:9px}.seating-board{padding:11px 12px;overflow-x:auto}.seating-board .classroom-rows,.seating-board .podium-zone{min-width:var(--board-min-width)}.seat-card{-webkit-user-select:none;user-select:none;background:linear-gradient(#fffef9,#faf8ef);border:1px solid #c8c9bd;border-top:4px solid #94aa9a;border-radius:9px 9px 12px 12px;width:100%;min-height:82px;padding:9px 8px 8px;transition:transform .14s,box-shadow .14s;position:relative;overflow:hidden;box-shadow:0 2px #b9b9ae,0 8px 18px #2c37301c}.seat-card.gender-male{border-top-color:#86afd1}.seat-card.gender-female{border-top-color:#e5a1b9}.seat-card[draggable=true]{cursor:grab}.seat-card[draggable=true]:hover{transform:translateY(-2px);box-shadow:0 3px #b9b9ae,0 12px 22px #2c373024}.seat-card.disabled{color:#99958e;box-shadow:none;background:#dedbd2;border-style:dashed}.seat-card.locked{outline:2px solid var(--green);background:#edf5eb}.seat-card.selected{outline:3px solid var(--lime);transform:translateY(-2px)}.seat-number{color:#9ba19d;font:8px monospace;position:absolute;top:5px;right:6px}.seat-card-content{grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:6px;min-height:61px;display:grid}.interactive-card .seat-card-content{padding-bottom:15px}.seat-card-primary{min-width:0;padding-top:4px}.student-name{align-items:center;gap:6px;min-width:0;display:flex}.student-name strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.05;overflow:hidden}.student-name.name-2 strong{letter-spacing:.08em;font-size:24px}.student-name.name-3 strong{font-size:22px}.student-name.name-4 strong{font-size:19px}.gender-mark{border:1px solid #0000;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:14px;font-style:normal;font-weight:900;display:grid}.gender-mark-male{color:#2f6f9f;background:#e8f2fb;border-color:#bdd5e9}.gender-mark-female{color:#c84f7b;background:#fde9f0;border-color:#f0bfd0}.student-tags{flex-direction:column;align-items:flex-end;gap:3px;max-width:76px;padding-top:14px;display:flex}.student-tags span{color:#466052;text-overflow:ellipsis;white-space:nowrap;background:#ebf0e8;border-radius:999px;max-width:100%;padding:3px 5px;font-size:9px;line-height:1.2;overflow:hidden}.student-tags span.attention{color:#8a5520;background:#f7ead5}.student-role{color:#8b5427;text-overflow:ellipsis;white-space:nowrap;background:#f5e7d3;border-radius:6px;max-width:100%;margin-top:8px;padding:3px 6px;font-size:11px;font-style:normal;font-weight:800;line-height:1.2;display:inline-block;overflow:hidden}.lock-button{color:var(--green);background:#e3eee5;border:0;border-radius:5px;padding:3px 5px;font-size:7px;position:absolute;bottom:5px;right:6px}.empty-seat{color:#aaa69e;font-size:12px;font-weight:400}.evaluation-strip{grid-template-columns:repeat(6,1fr);gap:6px;margin-top:9px;display:grid}.evaluation-strip>div{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-height:57px;padding:7px 9px}.evaluation-strip span,.evaluation-strip small{display:block}.evaluation-strip span{color:var(--muted);font-size:8px}.evaluation-strip b{color:var(--green);font:800 18px Georgia,serif}.evaluation-strip small{color:#6d756f;white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.sticky-actions{padding:10px 0 0}.sticky-actions>div{align-items:center;gap:10px;display:flex}.sticky-actions>div span{color:var(--muted);font-size:9px}.success-seal{border:2px solid var(--green);color:var(--green);border-radius:50%;padding:11px 15px;font-weight:800;transform:rotate(-5deg)}.confirmed-preview{border:1px solid var(--line);background:#f7f5ed;border-radius:13px;margin-bottom:12px;padding:12px}.print-title{justify-content:space-between;align-items:end;gap:12px;margin:0 2px 10px;display:flex}.print-title h2{margin:0;font:700 20px Georgia,Songti SC,serif}.print-title span{color:var(--muted);font-size:9px}.readonly-board .seat-card{min-height:70px}.export-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.export-grid button{border:1px solid var(--line);background:var(--panel);min-height:110px;box-shadow:var(--shadow);text-align:left;border-radius:12px;padding:18px}.export-grid b,.export-grid span{display:block}.export-grid b{font-size:16px}.export-grid span{color:var(--muted);margin-top:6px;font-size:10px}.history-row{background:var(--panel);text-align:left;border:0;border-top:1px solid #ece9df;justify-content:space-between;align-items:center;width:100%;padding:11px 13px;display:flex}.history-row span b,.history-row span small{display:block}.history-row span b{font-size:11px}.history-row span small{color:var(--muted);margin-top:3px;font-size:9px}.history-row strong{color:var(--green)}.export-sensitive{color:var(--muted);align-items:center;gap:7px;margin:0 0 10px;font-size:10px;display:flex}.export-sensitive input{accent-color:var(--green)}.drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#101c1661;justify-content:flex-end;display:flex;position:fixed;inset:0}.history-drawer{background:var(--paper);width:min(760px,92vw);height:100%;padding:18px;animation:.2s ease-out drawer-in;overflow:auto;box-shadow:-18px 0 50px #14231b33}@keyframes drawer-in{0%{opacity:.3;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.drawer-head b,.drawer-head span{display:block}.drawer-head b{font:700 22px Georgia,Songti SC,serif}.drawer-head span{color:var(--muted);margin-top:4px;font-size:10px}.drawer-head button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:50%;font-size:22px}.drawer-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.back-history{color:var(--green);background:0 0;border:0;margin-bottom:12px;font-size:11px}.history-preview-title{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.history-preview-title b{font-size:14px}.history-preview-title span{color:var(--muted);font-size:10px}.history-board-scroll{overflow-x:auto}.history-board-scroll .classroom-canvas{min-width:680px}@media (max-width:1100px){.process-nav{grid-template-columns:160px 1fr 60px;gap:12px}.step-tabs button{padding:7px 6px}.step-tabs button i{display:none}.rule-workspace,.board-toolbar{grid-template-columns:1fr}.display-options{justify-content:flex-end}.classroom-canvas{--aisle-width:15px;--aisle-margin:2px;--aisle-total:19px}.layout-toolbar{flex-wrap:wrap}.check-option{margin-left:0}}@media (max-width:760px){.topbar{padding:0 14px}.privacy-chip,.text-button{display:none}.process-nav{padding:8px 12px;display:block;position:static}.class-name{font-size:20px}.step-tabs{margin-top:7px;display:flex;overflow-x:auto}.step-tabs button{min-width:105px}.class-summary{display:none}.main-panel{padding:12px}.compact-panel{padding:14px}.panel-heading h1,.arrangement-head h1{font-size:24px}.layout-toolbar,.aisle-settings{flex-direction:column;align-items:flex-start}.check-option{margin-left:0}.classroom-canvas{overflow-x:auto}.classroom-rows,.podium-zone{min-width:850px}.candidate-tabs,.board-toolbar{grid-template-columns:1fr}.evaluation-strip{grid-template-columns:repeat(2,1fr)}.export-grid{grid-template-columns:1fr}}@media print{.topbar,.process-nav,.status-bar,.board-toolbar,.action-row,.arrangement-head p,.lock-button,.evaluation-strip,.confirm-panel>.panel-heading,.export-grid,.history-list,.export-sensitive{display:none!important}.main-panel{padding:0}.board-panel,.flow-panel{max-width:none}.confirm-panel,.confirmed-preview{background:#fff;border:0;padding:0}.print-title{margin-bottom:8mm}.print-title h2{font-size:22px}.classroom-canvas{background:#fff;border:0}.seat-card{min-height:62px;box-shadow:none}@page{size:A4 landscape;margin:10mm}}
