.modal-backdrop[data-v-1af900ae]{z-index:30;background:#000a1047;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-1af900ae]{background:#fff;border-radius:8px;gap:14px;width:380px;padding:24px;display:grid;box-shadow:0 20px 48px #0000002e}.modal-card h2[data-v-1af900ae]{margin:0;font-size:20px}.modal-card p[data-v-1af900ae]{color:#444;margin:0}.modal-card span[data-v-1af900ae]{color:#888;font-size:13px}.modal-actions[data-v-1af900ae]{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#b30004;--primary-strong:#d40008;--primary-dark:#7f0003;--primary-soft:#fff1f1;--accent:#b30004;--accent-strong:#7f0003;--accent-soft:#fff1f1;--secondary:#fbc203;--secondary-strong:#d99a00;--secondary-soft:#fff7d6;--bg:#f5f6f8;--panel:#fff;--surface-raised:#f8f9fb;--surface-soft:#f0f3f7;--line:#d8dee8;--line-strong:#b8c2d1;--text:#1f2937;--text-strong:#0b1324;--muted:#667085;--muted-strong:#344054;--success:#16833a;--success-soft:#dcfce7;--warning:#9a5f00;--warning-soft:#fef3c7;--danger:#b42318;--danger-soft:#fee2e2;--focus:#b300043d;--shadow-sm:0 1px 2px #7f000314;--shadow-md:0 10px 24px #7f000317}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);min-width:0;margin:0;font-family:Rawline,Segoe UI,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px var(--focus);outline:2px solid #0000}.login-page{background:var(--panel);grid-template-columns:minmax(420px,560px) 1fr;min-height:100vh;display:grid}.login-card{align-content:center;justify-items:stretch;gap:44px;padding:64px;display:grid}.brand-block{border-left:6px solid var(--primary);padding-left:20px}.brand-mark{color:var(--text-strong);letter-spacing:0;font-size:42px;font-weight:800}.brand-subtitle{color:var(--muted-strong);text-transform:uppercase;margin-top:8px;font-size:13px;font-weight:700}.login-form{gap:18px;width:100%;max-width:420px;display:grid}.login-art{background:linear-gradient(0deg, #7f0003c2, #7f0003c2), linear-gradient(135deg, var(--primary-dark), var(--primary));color:#fff;align-content:center;padding:64px;display:grid;position:relative;overflow:hidden}.login-art:before{content:"";background:#fbc203f2;height:8px;position:absolute;top:64px;left:64px;right:64px}.login-art:after{content:"";border:1px solid #ffffff3d;position:absolute;inset:96px 64px 64px}.login-logo-row{z-index:1;align-items:end;gap:18px;display:grid;position:relative}.city-logo,.school-logo{color:#fff;letter-spacing:0;font-size:clamp(30px,4vw,54px);font-weight:800;line-height:1}.school-logo{color:var(--secondary);font-size:clamp(42px,7vw,92px)}.shell{min-width:0;min-height:100vh}.topbar{background:var(--panel);border-bottom:1px solid var(--line);color:var(--text);justify-content:space-between;align-items:center;min-height:76px;padding:12px 32px;display:flex}.topbar-title{align-items:center;gap:16px;min-width:0;display:flex}.institution-mark{background:var(--primary);color:#fff;justify-content:center;align-items:center;width:76px;height:44px;font-size:13px;font-weight:800;display:inline-flex}.title-stack{gap:2px;display:grid}.title-stack strong{color:var(--text-strong);font-size:18px}.title-stack span{color:var(--muted);font-size:13px;font-weight:600}.user-chip{align-items:center;gap:12px;display:flex}.user-chip span{color:var(--muted-strong);font-size:14px;font-weight:700}.avatar{background:var(--accent-soft);border:1px solid var(--line-strong);color:var(--accent-strong);justify-content:center;align-items:center;width:40px;height:40px;font-weight:800;display:inline-flex}.layout{grid-template-columns:272px minmax(0,1fr);min-width:0;min-height:calc(100vh - 76px);display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--line);min-width:0;padding:28px 18px}.sidebar-logo{border-bottom:1px solid var(--line);color:var(--primary-dark);margin-bottom:20px;padding:4px 12px 22px;font-size:24px;font-weight:800}.nav-list{gap:18px;min-width:0;display:grid}.nav-section{gap:4px;min-width:0;display:grid}.nav-section-title{color:var(--muted);letter-spacing:0;text-transform:uppercase;padding:0 12px 4px;font-size:11px;font-weight:900}.nav-link{color:var(--muted-strong);border-left:4px solid #0000;align-items:center;gap:12px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.nav-link:hover{background:var(--surface-soft);color:var(--accent-strong)}.nav-link.router-link-active{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent-strong)}.nav-icon{background:var(--surface-soft);color:var(--accent-strong);flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-flex}.content{align-content:start;gap:18px;min-width:0;padding:26px 28px 44px;display:grid}.content>*{min-width:0}.page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;display:flex}.page-header h1{color:var(--text-strong);margin:0;font-size:24px;font-weight:700}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;display:flex}.filters{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.table-wrap,.form-surface{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden}.table-meta{color:var(--muted);padding:0 2px 6px;font-size:12px;font-weight:700}.table-wrap{max-width:100%;overflow-x:hidden}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0}th,td{border-bottom:1px solid var(--line);text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;padding:10px;font-size:13px;overflow:hidden}th{background:var(--surface-raised);color:var(--muted-strong);text-transform:uppercase;font-size:12px;font-weight:800}tr:hover td{background:#fbfcff}.actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.actions-heading,.actions-cell,.actions-column{text-align:right;width:212px;min-width:212px}.actions-cell{overflow:visible}.field{gap:7px;min-width:0;display:grid}.field label,.field span{color:var(--muted-strong);font-size:13px;font-weight:700}.field .required{color:var(--primary)}.input,.select,.textarea{border:1px solid var(--line-strong);color:var(--text);background:#fff;outline:none;width:100%;height:44px;padding:0 12px}.textarea{resize:vertical;height:104px;padding-top:10px}.input[readonly],.select[readonly],.input:disabled,.select:disabled{background:var(--surface-soft);border-color:var(--line);color:var(--muted)}.form-body{gap:22px;padding:24px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(220px,1fr))}.form-grid.one{grid-template-columns:1fr}.form-actions{background:var(--surface-raised);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.steps{border-bottom:1px solid var(--line);gap:16px;padding:22px 24px 0;display:grid}.steps h2{color:var(--text-strong);margin:0;font-size:18px}.step-list{flex-wrap:wrap;gap:16px;margin:0;padding:0;display:flex}.step-list li{color:var(--muted);padding-bottom:15px;list-style:none;position:relative}.step-list li.active{color:var(--accent-strong);font-weight:800}.step-list li.active:after{background:var(--primary);content:"";width:100%;height:4px;position:absolute;bottom:-1px;left:0}.btn{white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:800;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{filter:brightness(.98)}.btn.dark{background:var(--primary);color:#fff}.btn.stroke{border-color:var(--accent);color:var(--accent);background:#fff}.btn.light{border-color:var(--line-strong);color:var(--accent);background:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.icon{min-width:40px;padding:0 10px}.table-wrap .btn.icon{min-width:0;min-height:32px;padding:0 8px;font-size:12px}.status{border:1px solid #0000;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.status.ok{background:var(--success-soft);color:var(--success)}.status.warn{background:var(--warning-soft);color:var(--warning)}.notice{border-left:4px solid;margin-bottom:14px;padding:12px 14px;font-size:14px;font-weight:700}.notice.error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.notice.success{background:var(--success-soft);border-color:var(--success);color:var(--success)}.empty{color:var(--muted);text-align:center;padding:36px;font-weight:700}.profile-card{place-items:center;gap:18px;padding:24px;display:grid}.photo{background:var(--accent);color:#fff;justify-content:center;align-items:center;width:96px;height:96px;font-size:28px;font-weight:800;display:flex}.template-editor-layout{grid-template-columns:280px minmax(0,1fr);gap:16px;min-width:0;display:grid}.template-list{align-content:start;gap:10px;min-width:0;display:grid}.template-card{background:var(--panel);border:1px solid var(--line);color:var(--text);text-align:left;border-left:4px solid #0000;gap:6px;padding:14px;display:grid}.template-card.active{background:var(--accent-soft);border-left-color:var(--accent)}.template-card strong{color:var(--text-strong);font-size:14px}.template-card span,.template-card small{color:var(--muted);font-size:12px;line-height:1.35}.template-workspace{background:var(--panel);border:1px solid var(--line);min-width:0}.template-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.template-toolbar>div:first-child{gap:4px;min-width:0;display:grid}.template-toolbar strong{color:var(--text-strong)}.template-toolbar span{color:var(--muted);font-size:12px}.template-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.template-actions label{cursor:pointer}.template-compose{background:var(--surface-raised);grid-template-columns:minmax(0,1fr) 300px;gap:16px;min-width:0;min-height:640px;padding:16px;display:grid}.template-paper{border:1px solid var(--line);box-shadow:var(--shadow-md);background:#fff;align-content:start;justify-self:center;gap:10px;width:100%;max-width:820px;min-height:560px;padding:42px 50px;display:grid}.template-paragraph{gap:5px;display:grid}.template-paragraph span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.template-paragraph textarea{color:var(--text);font:inherit;resize:vertical;border:1px solid #0000;outline:none;width:100%;min-height:44px;padding:8px;font-size:13px;line-height:1.55}.template-paragraph textarea:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px var(--focus)}.variable-panel{background:var(--panel);border:1px solid var(--line);align-content:start;gap:8px;min-width:0;padding:14px;display:grid}.variable-panel>strong{color:var(--text-strong)}.variable-panel>span{color:var(--muted);font-size:12px}.variable-chip{border:1px solid var(--line);color:var(--text);text-align:left;background:#fff;gap:4px;padding:9px;display:grid}.variable-chip:hover{border-color:var(--accent)}.variable-chip code{color:var(--accent-strong);white-space:nowrap;font-size:12px;font-weight:800}.variable-chip small{color:var(--muted);font-size:11px}@media (width<=980px){.login-page{grid-template-columns:1fr}.login-art{display:none}.layout{grid-template-columns:minmax(0,1fr)}.sidebar{border-bottom:1px solid var(--line);border-right:0;max-width:100vw;padding:12px 16px;overflow:hidden}.sidebar-logo{display:none}.nav-list{gap:8px;width:100%;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.nav-section{flex:none;gap:8px;display:flex}.nav-section-title{display:none}.nav-link{border-bottom:3px solid #0000;border-left:0;flex:none}.nav-link.router-link-active{border-bottom-color:var(--accent)}.content{padding:24px 16px 36px}.form-grid,.form-grid.two,.template-editor-layout,.template-compose{grid-template-columns:1fr}.template-paper{padding:26px 18px}.topbar{padding-left:16px;padding-right:16px}}@media (width<=620px){.login-card{padding:32px 20px}.topbar{align-items:flex-start;gap:12px;display:grid}.user-chip{width:100%}.page-header{align-items:stretch;display:grid}.btn{width:100%}.actions .btn{width:auto}}
