:root{color-scheme:light;--bg: #f7f8fb;--surface: #ffffff;--surface-soft: #f1f5f9;--text: #111827;--muted: #64748b;--line: #dbe3ee;--primary: #2563eb;--primary-strong: #1d4ed8;--green: #059669;--red: #dc2626;--shadow: 0 10px 26px rgba(15, 23, 42, .06);--shadow-strong: 0 22px 70px rgba(15, 23, 42, .22);--radius: 8px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px;background:var(--bg);color:var(--text);font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:16px 12px;background:#0f172a;color:#e2e8f0;border-right:1px solid rgba(255,255,255,.08)}.brand,.login-brand{display:flex;align-items:center;gap:12px}.brand{min-height:44px;padding:0 6px 14px;border-bottom:1px solid rgba(226,232,240,.14)}.login-brand{margin-bottom:18px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius);background:var(--primary);color:#fff;font-weight:800}.brand-title{font-size:15px;font-weight:800;line-height:1.2}.brand-subtitle{margin-top:3px;color:#94a3b8;font-size:12px}.login-brand .brand-subtitle{color:var(--muted)}.nav{display:grid;gap:4px;margin-top:14px}.nav-button{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border:0;border-radius:var(--radius);background:transparent;color:#cbd5e1;text-align:left;transition:background .16s ease,color .16s ease}.nav-button:hover,.nav-button.active{background:#2563eb2e;color:#fff}.sidebar-footer{position:absolute;right:12px;bottom:12px;left:12px;padding:10px;border:1px solid rgba(226,232,240,.12);border-radius:var(--radius);color:#94a3b8;font-size:12px;line-height:1.55}.main{min-width:0;padding:14px}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.page-kicker{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2{margin:0;line-height:1.25}h1{margin-top:2px;font-size:21px}h2{font-size:16px}.topbar-actions,.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.config-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr) auto;gap:8px;margin-bottom:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.field{display:grid;gap:4px;min-width:0}.field.grow{min-width:280px;flex:1}.field span{color:#334155;font-size:12px;font-weight:700}input,select,textarea{width:100%;min-height:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);outline:none;transition:border-color .16s ease,box-shadow .16s ease}input,select{padding:0 9px}textarea{min-height:280px;padding:9px;resize:vertical;font-family:Fira Code,Consolas,Courier New,monospace;font-size:13px;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb21}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius);font-weight:700;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-strong)}.button.secondary{border-color:var(--line);background:#fff;color:#1f2937}.button.secondary:hover{border-color:#bfdbfe;background:#eff6ff;color:var(--primary-strong)}.button.danger{background:#fee2e2;color:var(--red)}.button.danger:hover{background:#fecaca}.button.ghost{border-color:transparent;background:transparent;color:var(--muted)}.button.ghost:hover{background:var(--surface-soft);color:var(--text)}.button.full{width:100%;margin-top:16px}.status-line{display:flex;align-items:center;gap:8px;position:fixed;top:14px;left:50%;z-index:80;width:max-content;max-width:min(680px,calc(100vw - 32px));padding:9px 12px;border:1px solid #bbf7d0;border-radius:var(--radius);background:#f0fdf4;color:#166534;font-size:14px;font-weight:650;line-height:1.45;text-align:center;overflow-wrap:anywhere;box-shadow:0 14px 34px #0f172a29;transform:translate(-50%)}.status-line.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.login-screen{display:grid;place-items:center;min-height:100vh;padding:24px;background:#eef2ff}.login-card{width:min(460px,100%);padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.login-card p{margin:8px 0 20px;color:var(--muted);line-height:1.6}.login-card .field+.field{margin-top:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.metric-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:none}.metric-card{padding:10px 12px}.metric-label{color:var(--muted);font-size:13px;font-weight:650}.metric-value{margin-top:5px;font-size:24px;font-weight:800;line-height:1}.metric-foot{margin-top:6px;color:var(--muted);font-size:12px}.workspace{display:grid;gap:10px}.panel,.metric-card,.config-row,.topbar{box-shadow:var(--shadow)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.panel-description{margin-top:2px;color:var(--muted);font-size:13px}.panel-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line);background:#fbfdff}.panel-tools.pagination{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.table-wrap{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:13px}th{background:#f8fafc;color:#475569;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}tbody tr:hover{background:#f8fbff}.cell-title{font-weight:800;color:#0f172a}.cell-meta{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}.term-start-cell{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,150px);align-items:start;gap:10px;min-width:280px}.term-start-main{min-width:0}.term-start-main .cell-title,.term-start-main .cell-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-start-picker{display:grid;gap:4px;min-width:0}.term-start-picker span{color:var(--muted);font-size:11px;font-weight:800}.term-start-picker select{width:100%;min-height:30px;padding:5px 28px 5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#0f172a;font-size:12px;font-weight:700}.submission-groups{display:grid;gap:8px;padding:8px;background:#f8fafc}.submission-school-group{overflow:hidden;border:1px solid #cbd5e1;border-left:5px solid var(--primary);border-radius:var(--radius);background:#fff;box-shadow:0 12px 30px #0f172a14}.submission-school-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-bottom:1px solid #dbe3ee;background:#eef4ff}.submission-school-header h3{margin:0;color:#0f172a;font-size:16px;line-height:1.3}.submission-school-title-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.submission-school-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;color:#475569;font-size:12px;line-height:1.45}.submission-school-meta span{min-width:0;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-school-actions{display:grid;justify-items:end;gap:6px}.submission-list{display:flex;gap:8px;padding:8px;overflow-x:auto;scrollbar-gutter:stable}.submission-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 300px;min-width:0;padding:8px;border:1px solid #e8eef6;border-radius:var(--radius);background:#fff;cursor:pointer}.submission-card:hover{border-color:#bfdbfe;background:#f8fbff}.submission-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.submission-link{min-width:0;color:var(--primary-strong);font-size:13px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-link:hover{text-decoration:underline}.submission-card-actions{display:flex;align-items:center;flex:0 0 auto;gap:4px}.submission-detail{display:grid;gap:12px}.compact-select{width:auto;min-height:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#1f2937;font-weight:700}.copy-button{display:inline-grid;flex:0 0 26px;place-items:center;width:26px;height:26px;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--primary)}.copy-button:hover{border-color:#bfdbfe;background:#eff6ff}.copy-value{min-width:0;padding:0;border:0;background:transparent;color:var(--primary);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count-link{display:inline-grid;align-items:center;justify-content:center;min-height:26px;width:5ch;padding:0 8px;border:1px solid #bfdbfe;border-radius:var(--radius);background:#eff6ff;color:var(--primary-strong);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;text-align:center}.count-link:hover{border-color:var(--primary);background:#dbeafe}.dense-table{min-width:920px}.dense-table th,.dense-table td{padding-top:7px;padding-bottom:7px}.badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:var(--surface-soft);color:#334155;font-size:12px;font-weight:800;white-space:nowrap}.badge.green{background:#dcfce7;color:#166534}.badge.amber{background:#fef3c7;color:#92400e}.badge.red{background:#fee2e2;color:#991b1b}.empty{padding:28px 12px;color:var(--muted);text-align:center}.split-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:10px}.detail-panel{padding:12px}.feedback-list{display:grid;gap:6px;padding:8px 10px 10px;background:#f8fafc}.feedback-row{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) minmax(170px,240px);gap:10px;width:100%;padding:9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.feedback-row:hover,.feedback-row.active{border-color:#bfdbfe;background:#f8fbff;box-shadow:0 8px 20px #2563eb14}.feedback-row-main,.feedback-row-side{display:grid;min-width:0;gap:6px}.feedback-row-title{display:flex;align-items:center;gap:8px;min-width:0;color:#0f172a;font-size:14px;font-weight:800}.feedback-row-content,.feedback-row-side{color:var(--muted);font-size:12px;line-height:1.5}.feedback-row-content,.feedback-row-side span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-row-side{justify-items:end}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-list{display:grid;gap:8px;margin-top:10px}.detail-item{padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc}.detail-label{color:var(--muted);font-size:12px;font-weight:800}.detail-value{margin-top:3px;color:#0f172a;font-size:13px;line-height:1.45;word-break:break-word}.detail-button{width:100%;margin-top:14px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.notification-workspace{gap:12px}.notification-form{background:#f8fafc}.notification-composer{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:10px;padding:12px}.notification-target-card,.notification-message-card{min-width:0;border:1px solid #dbe3ee;border-radius:var(--radius);background:#fff}.notification-target-card{display:grid;align-content:start;gap:12px;padding:12px}.notification-message-card{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.notification-target-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}.notification-kicker{color:var(--primary-strong);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.notification-note{padding:9px 10px;border:1px solid #bfdbfe;border-radius:var(--radius);background:#eff6ff;color:#1e3a8a;font-size:12px;line-height:1.55}.notification-grid{grid-template-columns:1fr;padding:12px}.notification-content-field textarea{min-height:138px;font-family:inherit}.notification-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--line);background:#fbfdff}.notification-submit-hint{min-width:0;color:var(--muted);font-size:12px;line-height:1.45}.notification-summary{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.notification-summary span{min-height:24px;padding:3px 8px;border:1px solid #dbe3ee;border-radius:999px;background:#f8fafc;color:#334155;font-size:12px;font-weight:800;white-space:nowrap}.notification-row.inactive{background:#fcfcfd}.notification-row.inactive .notification-title-line,.notification-row.inactive .notification-content-preview{opacity:.62}.notification-title-line{display:flex;align-items:center;gap:7px;min-width:0;color:#0f172a;font-weight:850}.notification-title-line svg{flex:0 0 auto;color:var(--primary)}.notification-title-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-content-preview{max-width:520px;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notification-id{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Fira Code,Consolas,Courier New,monospace}.notification-read-count{display:inline-grid;place-items:center;min-width:34px;min-height:26px;padding:0 8px;border:1px solid #bfdbfe;border-radius:var(--radius);background:#eff6ff;color:var(--primary-strong);font-weight:850;font-variant-numeric:tabular-nums}.check-field{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#334155;font-size:13px;font-weight:750}.check-field input{width:16px;min-height:16px}.modal-backdrop{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:16px;background:#0f172a75}.modal-backdrop.visible{display:flex}.modal{width:min(720px,100%);max-width:calc(100vw - 32px);max-height:min(760px,88vh);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-strong)}.modal.confirm-modal{width:min(520px,100%)}.modal.term-modal{width:min(680px,100%)}.modal.provider-modal{width:min(1080px,100%);height:min(820px,94vh);max-height:min(820px,94vh)}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.modal-footer{border-top:1px solid var(--line);border-bottom:0}.modal-body{display:grid;gap:10px;min-width:0;padding:12px 12px 16px;overflow-x:hidden;overflow-y:auto}.provider-modal-body{flex:1;min-height:0;overflow:hidden}.config-form{display:grid;gap:12px;min-width:0;padding-bottom:4px}.provider-modal .config-form{grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding-bottom:0}.form-grid{display:grid;gap:8px;min-width:0}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.provider-simple-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.provider-basic-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:start;gap:12px;min-width:0;min-height:0;padding:10px}.provider-form-block{display:grid;align-content:start;gap:10px;min-width:0;padding:10px;border:1px solid #e8eef6;border-radius:8px;background:#fbfdff}.provider-block-head{display:grid;gap:3px;min-width:0}.provider-block-head.with-action{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.provider-block-head h4{margin:0;color:#0f172a;font-size:13px;font-weight:850;line-height:1.35}.provider-block-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.provider-muted-note{min-height:96px;display:grid;place-items:center;padding:12px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:var(--muted);font-size:12px;font-weight:750;text-align:center}.provider-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.provider-tab-button{display:grid;grid-template-rows:auto auto;gap:2px;min-width:0;height:58px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#334155;cursor:pointer;text-align:left}.provider-tab-button:hover{border-color:#bfdbfe;background:#f8fbff}.provider-tab-button span,.provider-tab-button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-tab-button span{font-size:13px;font-weight:850}.provider-tab-button small{color:var(--muted);font-size:12px;font-weight:700}.provider-tab-button.is-active{border-color:#93c5fd;background:#eff6ff;color:var(--primary-strong)}.provider-tab-panel,.provider-tab-section{min-width:0;min-height:0}.provider-tab-panel{display:grid;min-height:0;overflow:hidden}.provider-tab-section{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.form-section{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.form-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-bottom:1px solid var(--line);background:#f8fafc}.form-section-header h3{margin:0;color:#0f172a;font-size:14px;line-height:1.3}.form-section-header p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.form-section-header h4{margin:0;color:#0f172a;font-size:13px;line-height:1.3}.form-section-header.compact{padding:0;border-bottom:0;background:transparent}.form-section-subpanel{display:grid;gap:10px;margin:0;padding:10px;border:1px solid var(--line);border-radius:0;border-width:1px 0 0;background:#fff}.switch-row{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:13px;font-weight:700}.form-section>.form-grid,.term-row-list,.section-time-table{padding:10px}.provider-tab-section>.form-grid{align-content:start}.term-row-list{display:grid;gap:8px}.term-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,180px) minmax(110px,auto);align-items:end;gap:8px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc}.term-display{display:grid;gap:4px;min-width:0;padding:7px 9px;border:1px solid #dbeafe;border-radius:var(--radius);background:#fff}.term-label{overflow:hidden;color:#0f172a;font-size:13px;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.term-row-action{display:flex;align-items:center;justify-content:flex-end;min-height:34px;min-width:0}.section-time-table{display:grid;gap:6px;min-width:0;overflow:auto}.section-time-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:10px}.section-time-import{display:grid;align-content:start;gap:5px;min-width:0;padding:0}.section-time-import-input{min-height:146px;max-height:220px;font-size:12px;line-height:1.45}.compact-section-time-import{padding:0}.field-error{color:var(--red);font-size:12px;font-weight:750}.section-time-head,.section-time-row{display:grid;grid-template-columns:minmax(72px,96px) minmax(0,1fr) minmax(0,1fr) 38px;align-items:end;gap:8px;min-width:0}.section-time-head{align-items:center;color:var(--muted);font-size:12px;font-weight:800}.section-time-row{padding:6px;border:1px solid #e8eef6;border-radius:var(--radius);background:#fbfdff}.provider-tab-section .section-time-table{grid-template-columns:1fr;align-content:start;gap:6px;min-height:0;padding:0}.provider-tab-section .section-time-head{grid-column:1 / -1}.provider-tab-section .section-time-row{grid-template-columns:minmax(48px,64px) minmax(0,1fr) minmax(0,1fr) 34px;gap:6px;padding:5px}.provider-tab-section input,.provider-tab-section select{min-height:32px}.compact-empty{padding:12px}.time-profile-card{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:12px;border:0;border-radius:0;background:#fff}.time-profile-head{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:8px}.time-profile-summary{display:grid;gap:3px;min-width:0}.time-profile-summary strong{overflow:hidden;color:#0f172a;font-size:14px;font-weight:850;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.time-profile-summary span{overflow:hidden;color:#64748b;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.building-times-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:stretch;gap:10px;min-width:0;min-height:0;padding:10px}.building-list-panel,.time-profile-editor{display:grid;gap:10px;min-width:0;min-height:0;overflow:hidden}.building-setting-list{display:grid;gap:6px;min-width:0;align-content:start;overflow:auto}.building-setting-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:38px;padding:7px 9px;border:1px solid #bfdbfe;border-radius:var(--radius);background:#fff;color:#0f172a;font-size:12px;font-weight:800;cursor:pointer;text-align:left}.building-setting-button:hover{border-color:#93c5fd;background:#eff6ff}.building-setting-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.building-setting-button small{color:var(--muted);font-size:11px;font-weight:750;white-space:nowrap}.building-setting-button.is-configured{border-color:#bbf7d0;background:#f0fdf4}.building-setting-button.is-active{border-color:#60a5fa;background:#dbeafe;color:var(--primary-strong)}.building-setting-button.is-active small{color:var(--primary-strong)}.time-profile-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#334155;font-size:12px;font-weight:850}.nested-section-time-table{padding:0}.compact-field span{display:none}.icon-button{width:34px;padding:0}.check-field.compact{min-height:34px;padding:0 9px;font-size:12px}.inline-footer{margin:2px 0 0;padding:12px 0 4px}.confirm-title-row{display:flex;align-items:center;gap:10px}.confirm-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius);background:#f1f5f9;color:#475569}.confirm-icon.green{background:#dcfce7;color:#166534}.confirm-icon.red{background:#fee2e2;color:#991b1b}.confirm-copy{padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;color:#334155;font-size:14px;line-height:1.65}.json-output{min-height:180px;margin:0;padding:10px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#0f172a;color:#dbeafe;font-family:Fira Code,Consolas,Courier New,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap}@media(max-width:1040px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px}.brand{padding-bottom:12px}.nav{grid-template-columns:repeat(6,minmax(0,1fr))}.nav-button{justify-content:center}.nav-button span,.sidebar-footer{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid,.notification-composer{grid-template-columns:1fr}.modal.provider-modal{width:min(960px,100%)}.building-times-layout{grid-template-columns:1fr}}@media(max-width:720px){.main{padding:14px}.topbar,.config-row{grid-template-columns:1fr}.topbar-actions{justify-content:stretch}.topbar-actions .button,.config-row .button{width:100%}.metric-grid{grid-template-columns:1fr}.panel-header,.panel-tools{align-items:stretch;flex-direction:column}.panel-tools .field,.panel-tools .button{width:100%}.submission-school-header{align-items:stretch;flex-direction:column}.submission-school-actions{justify-items:stretch}.submission-school-actions .row-actions,.submission-school-actions .button{width:100%}.submission-card{flex-basis:260px}.feedback-row{grid-template-columns:1fr}.feedback-row-side{justify-items:start}.settings-grid{grid-template-columns:1fr}.notification-actions{align-items:stretch;flex-direction:column}.notification-actions .button{width:100%}.notification-summary{justify-content:flex-start}.notification-id{max-width:180px}.provider-tabs,.provider-tab-section .section-time-table,.provider-basic-layout,.section-time-layout,.form-grid.two,.provider-simple-grid,.time-profile-head,.term-row,.section-time-head,.section-time-row{grid-template-columns:1fr}.section-time-head{display:none}.compact-field span{display:block}.term-row .icon-button,.time-profile-head .icon-button,.section-time-row .icon-button{width:100%}.form-section-header{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
