@font-face{font-family:Geom;src:url(/fonts/geom_variable.woff) format("woff");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:Geom;src:url(/fonts/geom_italic_variable.woff) format("woff");font-weight:300 800;font-style:italic;font-display:swap}:root{--font-sans: "Geom", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, sans-serif;--bg: #F4EADF;--bg-2: #FAF6EF;--surface: #FFFFFF;--surface-dark: #2A2421;--ink: #161616;--ink-2: rgba(22, 22, 22, .72);--ink-3: rgba(22, 22, 22, .66);--hairline: rgba(22, 22, 22, .08);--accent: #C4420F;--accent-bright: #E8551C;--terracotta: #C35A31;--accent-soft: rgba(196, 66, 15, .1);--success: #2E7D32;--success-soft: rgba(46, 125, 50, .1);--warning: #B33F0C;--warning-soft: rgba(232, 85, 28, .12);--danger: #D32F2F;--danger-soft: rgba(211, 47, 47, .1);--radius-card: 20px;--radius-tile: 18px;--radius-control: 12px;--radius-pill: 999px;--shadow-card: 0 9px 16px rgba(92, 67, 40, .12), 0 8px 18px rgba(195, 90, 49, .12);--shadow-hero: 0 14px 24px rgba(92, 67, 40, .18), 0 12px 30px rgba(195, 90, 49, .22);--gradient-hero: linear-gradient(225deg, #E8551C 0%, #C4420F 40%);--focus-ring: 0 0 0 2px #FFFFFF, 0 0 0 4px #C4420F;--bg-primary: 31.4 48.8% 91.6%;--bg-secondary: 0 0% 100%;--bg-tertiary: 38.2 52.4% 95.9%;--text-primary: 0 0% 8.6%;--text-secondary: 20 4.2% 27.8%;--text-muted: 21.8 5.3% 41%;--accent-rgb: 196, 66, 15;--accent-glow: 16.9 85.8% 41.4% / .1;--accent-text: 16.9 85.8% 41.4%;--accent-strong: 17.7 89.7% 34.1%;--success-rgb: 46, 125, 50;--danger-rgb: 211, 47, 47;--border: 34 40.5% 85.5%;--border-focus: 16.9 85.8% 41.4% / .5;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(92, 67, 40, .08);--shadow-md: var(--shadow-card);--shadow-lg: var(--shadow-hero);--font-display: var(--font-sans);--transition-fast: .14s ease;--transition-normal: .2s ease;--transition-slow: .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{font:400 15px/1.5 var(--font-sans);color:var(--ink);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.01em;line-height:1.2}h1{font-size:26px;font-weight:700}h2{font-size:20px;font-weight:600}h3{font-size:16px;font-weight:600}h4,h5,h6{font-size:15px;font-weight:600}.eyebrow{font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}table{font-size:13.5px;font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:#e0d2c0;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--terracotta)}:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--focus-ring)}button:not(:disabled){transition:transform var(--transition-fast),opacity var(--transition-fast)}button:not(:disabled):hover{filter:brightness(.97)}button:not(:disabled):active{transform:scale(.97)}table tbody tr:hover td{background-color:var(--bg-2)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stack{display:grid;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inline-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px}.card--tile{background:var(--surface);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);padding:16px;min-height:110px;transition:transform var(--transition-fast)}.card--tile.selected{box-shadow:0 0 0 2px var(--accent),var(--shadow-card)}.card--tile:hover{transform:translateY(-1px)}.card--tile:active{transform:scale(.97)}.card--flat{box-shadow:none;border:1px solid var(--hairline)}.glass-panel{background:var(--surface);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card);backdrop-filter:none;-webkit-backdrop-filter:none}.glow-hover{transition:transform var(--transition-fast)}.glow-hover:hover{transform:translateY(-1px)}.hero{background:var(--gradient-hero);color:#fff;border-radius:24px;box-shadow:var(--shadow-hero);padding:24px 28px}.hero__kicker{font-size:14px;font-weight:600;line-height:1.2;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.18)}.hero__title{font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:#fff}.hero__sub{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;font-family:var(--font-sans);font-size:15px;font-weight:600;line-height:1.2;border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;text-decoration:none;transition:transform var(--transition-fast),opacity var(--transition-fast)}.btn:active{transform:scale(.97)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--focus-ring)}.btn--ghost{background-color:var(--surface);border-color:var(--hairline);color:var(--ink)}.btn--ghost:hover:not(:disabled){background-color:var(--bg-2)}.btn--ghost:active{transform:scale(.97)}.btn--secondary,.btn-secondary{background-color:var(--surface);border:2px solid var(--accent);color:var(--accent)}.btn--secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background-color:var(--bg-2);color:var(--accent)}.btn--primary,.btn-primary{background-color:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background-color:var(--accent-bright);border-color:var(--accent-bright)}.btn--danger,.btn-danger{background-color:var(--danger);border-color:var(--danger);color:#fff}.btn--danger:hover:not(:disabled),.btn-danger:hover:not(:disabled){background-color:#bd2828;border-color:#bd2828}.btn--danger-ghost{background-color:var(--surface);border-color:var(--hairline);color:var(--danger)}.btn--danger-ghost:hover:not(:disabled){background-color:var(--danger-soft)}.btn--sm,.btn-sm{min-height:36px;padding:0 12px;font-size:13px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;color:var(--ink-2)}.form-control,.form-select,:where(.card,.sheet,.inline-form,.row,.form-group,.table-wrap,main) :is(select:not(.btn),textarea,input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.btn)){min-height:44px;padding:10px 14px;font-family:var(--font-sans);font-size:15px;line-height:1.4;color:var(--ink);background-color:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-control)}.form-control{width:100%}.form-control::placeholder,:where(.card,.sheet,.inline-form,.row,.form-group,.table-wrap,main) :is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.btn))::placeholder{color:var(--ink-3)}.form-control:focus,.form-select:focus,:where(.card,.sheet,.inline-form,.row,.form-group,.table-wrap,main) :is(select:not(.btn),textarea,input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.btn)):focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}textarea.form-control,:where(.card,.sheet,.inline-form,.row,.form-group,.table-wrap,main) textarea{min-height:96px;resize:vertical}.form-select,:where(.card,.sheet,.inline-form,.row,.form-group,.table-wrap,main) select:not(.btn){appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236E6763' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;padding-right:40px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:18px;height:18px}.form-hint{font-size:13px;color:var(--ink-3)}.form-error{font-size:13px;color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:none;border-radius:var(--radius-pill);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;white-space:nowrap}.badge--accent{background:var(--accent-soft);color:#a53709}.badge--success,.badge-published{background:var(--success-soft);color:#1b5e20}.badge--warning,.badge-draft{background:var(--warning-soft);color:var(--warning)}.badge--danger{background:var(--danger-soft);color:#b71c1c}.badge--wrap{white-space:normal;text-align:left;line-height:1.3;padding-top:5px;padding-bottom:5px}.badge--neutral,.badge-archived{background:var(--hairline);color:var(--ink-2)}.badge-draft,.badge-published,.badge-archived{border:none}.table-wrap{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:auto}.table-wrap table,.custom-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left}.table-wrap th,.custom-table th{position:sticky;top:0;z-index:1;background-color:var(--bg-2);color:var(--ink-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:12px 16px;border-bottom:1px solid var(--hairline)}.table-wrap td,.custom-table td{height:44px;padding:12px 16px;color:var(--ink);border-bottom:1px solid var(--hairline);vertical-align:middle}.table-wrap tbody tr:hover td,.custom-table tbody tr:hover td{background-color:var(--bg-2)}.row-actions__group{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:6px}.table-wrap tr.selected td,.custom-table tr.selected td{background-color:var(--accent-soft)}.custom-table tr:last-child td{border-bottom:none}.table-container{overflow-x:auto;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card)}.sheet-overlay,.overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#2a242173;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.sheet,.panel{width:min(560px,calc(100vw - 32px));max-width:560px;max-height:90vh;overflow:auto;padding:24px;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-hero)}.sheet--wide{width:min(900px,calc(100vw - 32px));max-width:900px}.sheet__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.sheet__close,.btn-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;padding:0;font-size:18px;line-height:1;color:var(--ink-2);background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer}.sheet__close:hover,.btn-close:hover{background:var(--bg-2);color:var(--ink)}.banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-control);font-size:14px}.banner--error,.error-banner{background:var(--danger-soft);color:#b71c1c;border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.banner--success,.success-banner{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 25%,transparent)}.banner--warning{background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent)}.banner--info{background:var(--accent-soft);color:#a53709;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.error-banner,.success-banner{padding:12px 16px;border-radius:var(--radius-control);margin-bottom:16px;font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--ink-3)}td.empty-state{display:table-cell;text-align:center;padding:40px}.empty-state__title{font-size:16px;font-weight:600;color:var(--ink-2)}.empty-state-content{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:320px}.empty-icon{width:48px;height:48px;color:var(--ink-3)}.empty-state-content p{font-size:14px;color:var(--ink-3)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton,.shimmer{background:linear-gradient(90deg,var(--bg-2) 25%,#EFE3D4 37%,var(--bg-2) 63%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:8px}.muted{color:var(--ink-3)}.error-text{color:var(--danger)}.success-text{color:var(--success)}.warn-text{color:var(--warning)}.accent-text{color:var(--accent)}.split-layout{display:grid;grid-template-columns:1fr 480px;gap:24px;align-items:start}.panel-left,.panel-right{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px;min-height:calc(100vh - 12rem)}.panel-left.empty-state,.panel-right.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.panel-header-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.count-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;background:var(--hairline);border:none;border-radius:var(--radius-pill);color:var(--ink-2)}.seminar-info{display:flex;flex-direction:column}.seminar-title{font-weight:600;color:var(--ink)}.seminar-subtitle{font-size:12.5px;color:var(--ink-3)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--hairline);margin-bottom:20px}.id-meta{font-size:12px;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.detail-form{display:flex;flex-direction:column;gap:24px}.form-section{padding-bottom:20px;border-bottom:1px solid var(--hairline)}.form-section h5{font-size:11px;font-weight:700;margin-bottom:14px;color:var(--accent);border-left:3px solid var(--accent);padding-left:8px;text-transform:uppercase;letter-spacing:.12em}.section-title-action{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.lessons-loading{font-size:13px;color:var(--ink-3)}.form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding-top:12px}@media(max-width:1280px){.split-layout{grid-template-columns:1fr}.panel-right{min-height:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}button:not(:disabled):hover,button:not(:disabled):active,.btn:active,.card--tile:hover,.card--tile:active,.glow-hover:hover{filter:none;transform:none}}
