:root{--canvas: #100d19;--surface: #191522;--nested: #292130;--line: #332939;--nav: #15101e;--text: #fff2f4;--secondary: #d5c3d1;--muted: #b09cad;--accent: #ff7a86;--accent-end: #eda0bb;--ink: #28111b;--selected: #352131;--selected-edge: #885060;--demo-edge: #775564;font-family:-apple-system,BlinkMacSystemFont,Noto Sans CJK SC,Microsoft YaHei,sans-serif;font-size:14px;color-scheme:dark;color:var(--text);background:var(--canvas);line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled,fieldset:disabled{opacity:.55;cursor:default}a{color:var(--accent);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:active{filter:brightness(.88)}input,textarea{caret-color:var(--accent)}::selection{background:var(--accent);color:var(--ink)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}h1,h2,p{margin:0}h1{font-size:24px;line-height:34px;font-weight:700}h2{font-size:18px;line-height:28px}small{font-size:12px;line-height:20px;color:var(--muted)}.muted{color:var(--muted)}.push{margin-left:auto}.inline{display:flex;align-items:center;gap:10px}.primary,.secondary,.danger,.quiet{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;border-radius:8px;font-size:14px;line-height:22px;border:1px solid transparent;font-weight:600;text-align:center;gap:6px;text-decoration:none}.primary{background:var(--accent);color:var(--ink)}.secondary{background:var(--surface);border-color:var(--line);color:var(--secondary)}.danger{background:var(--selected);border-color:var(--selected-edge);color:var(--accent)}.quiet{background:transparent;color:var(--secondary);padding:6px 8px;font-size:13px;font-weight:400}.primary:hover,.secondary:hover,.danger:hover{text-decoration:none;filter:brightness(1.08)}.admin-shell{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;background:var(--nav);border-right:1px solid var(--line);padding:32px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none!important}.brand img{width:44px;height:44px;object-fit:contain}.brand b{font:italic 900 26px/30px Arial,sans-serif;letter-spacing:-.03em;color:var(--accent)}.brand small{display:block;color:var(--secondary);font-size:12px}.sidebar-caption{color:var(--muted);font-size:12px;margin-top:19px}.sidebar nav{margin-top:29px;display:flex;flex-direction:column;gap:8px}.sidebar nav a{padding:11px 12px;border-radius:8px;color:var(--muted);font-size:14px;min-height:44px;display:flex;align-items:center}.sidebar nav a.active{background:var(--selected);color:var(--text);font-weight:600}.sidebar nav a:hover{background:var(--surface);text-decoration:none}.sidebar-foot{margin-top:auto;font-size:12px;line-height:21px;color:var(--muted)}.sidebar-foot .quiet{padding-left:0;margin-top:10px}.admin-main{flex:1;min-width:0}.topbar{height:70px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.owner-label{border:1px solid var(--line);border-radius:999px;padding:4px 12px}.workspace{padding:32px 36px 50px;max-width:1600px;margin:auto}.workspace.narrow{max-width:1030px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p{margin-top:7px;line-height:24px;font-size:14px}.page-heading>.primary,.page-heading>.secondary{flex-shrink:0}.table-toolbar{display:flex;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px 12px 0 0;background:var(--surface);margin-bottom:0;font-size:13px}.table-toolbar label{display:flex;align-items:center;gap:9px}.table-toolbar select{width:auto;min-width:125px;padding:8px 10px;font-size:13px;min-height:44px}.table-wrap{overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;font-variant-numeric:tabular-nums}thead{color:var(--muted);background:var(--surface)}th{font-weight:500;padding:13px 12px;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--secondary);overflow-wrap:anywhere}td small{display:block;margin-top:6px;line-height:20px}.title-cell{width:30%;color:var(--text)}.title-cell strong{font-weight:600;line-height:23px}.title-cell .demo{margin-left:5px}.time-cell{width:27%;font-size:12px;line-height:21px}.actions{min-width:120px}.actions a{display:block;min-height:32px;padding:6px 0;font-size:13px;line-height:20px}.event-range>span{display:block}.table-wrap tr:hover{background:var(--surface)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--nested);font-size:12px;line-height:20px;white-space:nowrap;color:var(--secondary)}.badge.published,.badge.approved{color:var(--accent);background:var(--selected)}.badge.rejected,.badge.unpublished{color:var(--muted)}.demo{font-size:12px;line-height:18px;border:1px solid var(--demo-edge);border-radius:4px;padding:0 4px;color:var(--muted);display:inline-block}.footnote{font-size:12px;line-height:22px;color:var(--muted);margin-top:23px}.state{padding:75px 20px;display:flex;align-items:center;flex-direction:column;text-align:center;gap:12px;color:var(--muted)}.state h2{color:var(--text)}.state .secondary{margin-top:8px}.loading-state{padding-top:20px}.loading-line{height:50px;background:var(--surface);margin:14px 0;border-radius:6px}.loading-line:nth-child(2n){width:80%}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px 12px;background:var(--surface);color:var(--text);line-height:22px;font-size:14px;max-width:100%}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{accent-color:var(--accent);height:17px;width:17px;flex-shrink:0;cursor:pointer}input:hover,textarea:hover,select:hover{border-color:var(--selected-edge)}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:32px}.login-form{max-width:420px;width:100%;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.login-form .brand{margin-bottom:30px}.login-form h1{font-size:22px}.login-form>.muted{font-size:13px;margin:9px 0 25px}.login-form label{display:block;margin:18px 0 8px;font-weight:600}.login-form input{background:var(--canvas)}.login-form>.primary{width:100%;margin-top:26px}.login-note{display:block;margin-top:18px;text-align:center}.error{padding:12px 14px;border:1px solid var(--selected-edge);border-radius:8px;background:var(--selected);color:var(--accent);line-height:23px;margin-top:18px;font-size:14px}.error small{display:block;color:var(--secondary);margin-top:3px}.success{padding:12px 14px;border:1px solid var(--selected-edge);border-radius:8px;background:var(--selected);color:var(--text);margin-top:18px}.notice{padding:20px;border:1px solid var(--selected-edge);border-radius:10px;background:var(--surface);margin:20px 0;color:var(--secondary)}.notice strong{font-size:15px;color:var(--text)}.notice p{font-size:13px;line-height:23px;margin:7px 0 13px}.notice .primary,.notice .secondary{min-height:44px;padding:10px 14px;font-size:13px}.editor-status{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:14px 0 22px;font-size:13px}.editor-grid{border:0;padding:0;min-width:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.editor-section{padding-top:24px;border-top:1px solid var(--line);margin-top:8px}.editor-section:first-child{padding-top:0;border:0;margin-top:0}.editor-section h2,.time-explanation h2{font-size:16px;line-height:24px}.span-two{grid-column:1/-1}.field{min-width:0}.field>label{display:block;margin-bottom:8px;font-weight:600;font-size:14px}.field>label small{font-weight:400;margin-left:7px}.field>small{display:block;margin-top:6px}.colleges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;padding:15px;border:1px solid var(--line);border-radius:7px;max-height:190px;overflow:auto;background:var(--surface)}.colleges>label{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:23px;color:var(--secondary);cursor:pointer;min-width:0}.time-explanation{margin-top:10px;padding-top:25px;border-top:1px solid var(--line)}.time-explanation p{font-size:13px;color:var(--muted);line-height:23px;margin-top:9px;max-width:75ch}.time-input{display:flex;gap:9px}.time-input>select{width:125px;flex-shrink:0}.time-input>input{min-width:0}.checkbox-label{display:flex;align-items:center;gap:9px;font-size:13px}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.review-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);gap:28px}.review-summary{min-width:0;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.review-summary h2{font-size:20px;line-height:31px;margin:16px 0 20px}.review-summary dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px 14px;font-size:13px;line-height:23px;margin:22px 0 30px}.review-summary dt{color:var(--muted)}.review-summary dd{margin:0;color:var(--secondary);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.review-summary .notice{border-inline:0;border-radius:0;padding:16px 0;background:transparent}.publish-page .review-summary{margin-bottom:24px}.publish-page>.muted{line-height:24px;max-width:75ch}.source-panel{border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--surface);min-width:0;align-self:start}.source-panel h2{font-size:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.source-panel pre{font-family:ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:23px;color:var(--secondary);max-height:max(240px,calc(100vh - 320px));overflow:auto;margin-bottom:0;padding-right:8px}@media (max-width: 1000px){.sidebar{width:180px;padding:25px 16px}.workspace{padding:25px 24px}.topbar{padding:0 24px}.review-layout,.editor-grid{grid-template-columns:1fr}.colleges{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap{max-width:100%}table{min-width:800px}}@media (max-width: 700px){.admin-shell{display:block}.sidebar{position:relative;width:100%;height:auto;display:block;padding:16px}.sidebar .brand,.sidebar-caption,.sidebar-foot{display:none}.sidebar nav{margin:0;flex-direction:row}.topbar{height:48px}.workspace{padding:22px 16px}.page-heading{align-items:flex-start;flex-wrap:wrap}.editor-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.table-toolbar{flex-wrap:wrap}.review-summary dl{grid-template-columns:90px minmax(0,1fr)}}@media (prefers-reduced-motion: no-preference){button,a{transition:filter .15s ease-out}}
