@import "https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500;600;700;800&display=swap";:root{--bg:#f7f7f7;--surface:#fff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--brand:#f7b742;--brand-dark:#d69b3a;--brand-ink:#040405;--brand-tint:#fdf6e8;--danger:#e11d48;--danger-dark:#be123c;--success:#1a7f37;--green:#03c99c;--card-shadow:0 1px 2px #1018280d;--sidebar-bg:#262630;--header-h:64px}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Fira Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font-family:inherit}h1,h2,h3{color:var(--ink)}h2{margin-top:0;font-size:18px}:focus-visible{outline:2px solid var(--brand-dark);outline-offset:2px;border-radius:4px}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.app-root{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:50;height:var(--header-h);border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.app-header-left{align-items:center;gap:18px;min-width:0;display:flex}.app-header-logo{color:var(--danger);align-items:center;display:flex}.app-header-logo-img{object-fit:contain;width:auto;height:38px;display:block}.app-header-mark-img{width:auto;height:34px;display:block}.app-header-titles.has-crumb{flex-direction:row;align-items:baseline;gap:8px}.app-header-crumb{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;flex-shrink:0;padding:0;font-family:inherit;font-size:14px;font-weight:600;line-height:1.45;display:inline-block}.app-header-crumb:hover{color:var(--ink)}.app-header-crumb:hover .app-header-crumb-text{text-underline-offset:3px;text-decoration:underline}.app-header-crumb:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app-header-crumb-sep{color:var(--muted);flex-shrink:0;font-size:14px;line-height:1.45}.app-header-crumb-icon{vertical-align:-.16em;flex-shrink:0;width:1.05em;height:1.05em}.app-header-crumb .app-header-crumb-icon{margin-right:5px}html[lang=mr] .app-header-crumb-icon{vertical-align:-.06em}.app-header-titles{flex-direction:column;justify-content:center;min-width:0;line-height:1.2;display:flex}.app-header-title{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-top:1px;font-size:17px;font-weight:700;line-height:1.45;overflow:hidden}.app-header-program{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:600;line-height:1.4;overflow:hidden}.app-header-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.practice-toggle{border:1px solid var(--line);height:32px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:0 12px 0 6px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.45;display:inline-flex}.practice-toggle:hover{background:#f4f4f5}.practice-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.practice-toggle-track{background:#d4d4d8;border-radius:999px;width:30px;height:18px;transition:background .15s;position:relative}.practice-toggle-knob{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.practice-toggle.is-on{border-color:var(--brand);background:#fdf1d8}.practice-toggle.is-on .practice-toggle-track{background:var(--brand-dark)}.practice-toggle.is-on .practice-toggle-knob{transform:translate(12px)}.practice-banner{top:calc(var(--header-h) + 8px);z-index:20;border:1px solid var(--brand);color:var(--ink);background:#fdf1d8;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0 0 16px;padding:10px 14px;font-size:14px;display:flex;position:sticky}.practice-banner-copy{align-items:center;gap:10px;min-width:0;display:flex}.practice-banner-badge{background:var(--brand);color:var(--brand-ink);letter-spacing:.02em;border-radius:999px;flex-shrink:0;padding:2px 10px;font-size:12px;font-weight:700}.practice-banner-actions{flex-wrap:wrap;gap:8px;display:flex}.practice-banner-actions .btn{align-items:center;gap:6px;display:inline-flex}.practice-bar{z-index:45;color:#fff;background:#d61f69;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;min-height:44px;padding:8px 24px;font-size:13px;line-height:1.45;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #00000026}.practice-bar-label{color:#fff;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.practice-bar-warn{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600;display:inline-flex}.practice-bar-warn svg{color:#fff;flex-shrink:0}.practice-bar-link{cursor:pointer;color:#fff;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.practice-bar-link:hover{color:#ffe4ef}.practice-bar-link:focus-visible{outline-offset:2px;outline:2px solid #fff}body.has-practice-bar{background-color:#e9eaee;background-image:repeating-linear-gradient(-45deg,#1f1f2309 0 2px,#0000 2px 14px);padding-bottom:56px}body.has-practice-bar .help-fab{bottom:68px}.app-shell{flex:1;min-height:0;display:flex}.app-main{flex:1;width:100%;min-width:0;max-width:1600px;padding:28px 32px}.sidebar{width:240px;color:var(--ink);border-right:1px solid var(--line);top:var(--header-h);height:calc(100vh - var(--header-h));background:#fff;flex-direction:column;flex-shrink:0;padding:20px 14px;display:flex;position:sticky}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-footer{border-top:1px solid var(--line);justify-content:center;margin-top:auto;padding-top:16px;display:flex}.sidebar-logo-img{width:90%;max-width:190px;height:auto;display:block}.sidebar-nav a{color:#374151;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sidebar-nav .nav-icon{flex-shrink:0;display:flex}.sidebar-nav a:hover{color:var(--ink);background:#f9fafb}.sidebar-nav a.active{color:var(--danger);background:#fdeaef;font-weight:700}.sidebar-subnav{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin:2px 0 2px 16px;padding-left:10px;display:flex}.sidebar-nav .sidebar-sublink{color:#6b7280;gap:8px;padding:7px 10px;font-size:13px;font-weight:500}.sidebar-nav .sidebar-sublink:hover{color:var(--ink);background:#f9fafb}.nav-subicon{opacity:.85;flex-shrink:0;display:flex}.sidebar-toggle,.sidebar-overlay{display:none}.lang-switch{border:1px solid var(--line);background:#fff;border-radius:6px;display:inline-flex;overflow:hidden}.lang-switch-opt{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:4px 9px;font-family:inherit;font-size:12px;font-weight:600}.lang-switch-opt+.lang-switch-opt{border-left:1px solid var(--line)}.lang-switch-opt:hover:not(.is-active){color:var(--ink);background:#f9fafb}.lang-switch-opt.is-active{background:var(--brand);color:var(--brand-ink)}.page-title{margin:0 0 4px;font-size:22px;font-weight:800}.taluka-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 16px;font-size:12px;font-weight:600}.section{margin-bottom:24px}.section-title{letter-spacing:-.01em;color:var(--ink);align-items:center;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.section-title:before{content:"";background:var(--brand);border-radius:2px;width:4px;height:17px;margin-right:10px}.section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-head .section-title{margin:0}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:10px;padding:16px}.cards .card{border-left:4px solid var(--line)}.card-accent-brand{border-left-color:var(--brand)}.card-accent-blue{border-left-color:#2563eb}.card-accent-green{border-left-color:var(--success)}.card .label{color:var(--muted);font-size:12px;line-height:1.3}.card .value{margin-top:2px;font-size:28px;font-weight:700;line-height:1.1}.card-sub{color:var(--muted);margin-top:6px;font-size:12px}.upload-preview-counts{color:var(--success);margin:0 0 2px;font-size:15px;font-weight:700}.upload-preview-file{color:var(--muted);margin:0 0 14px;font-size:13px}.upload-notadded{color:#b45309;font-weight:600}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 4px;padding:10px 12px;font-size:14px;font-weight:600}.info-note{color:#7a5d00;background:#fdf6e3;border:1px solid #f0e3b8;border-radius:8px;align-items:flex-start;gap:8px;margin:14px 0 0;padding:10px 14px;font-size:14px;display:flex}.info-note-icon{flex-shrink:0;margin-top:1px}.nominate-actions{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.action-btn{border:1.5px solid var(--brand);background:var(--brand-tint);cursor:pointer;text-align:left;color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;width:100%;padding:20px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .15s,background-color .15s;display:flex;position:relative}.action-btn:hover{border-color:var(--brand-dark);background:#fbedcf;transform:translateY(-2px);box-shadow:0 6px 18px #f7b74259}.action-icon{background:var(--brand);width:44px;height:44px;color:var(--brand-ink);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-title{margin:12px 0 6px;font-size:17px;font-weight:700}.action-sub{color:var(--muted);font-size:13px}.action-arrow{color:var(--brand-dark);transition:transform .15s;display:flex;position:absolute;top:18px;right:16px}.action-btn:hover .action-arrow{transform:translate(3px)}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,opacity .15s}.btn-primary{background:var(--brand);color:var(--brand-ink)}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:disabled{color:#9b8a63;cursor:not-allowed;background:#f3e6c4}.btn-secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-secondary:disabled{color:#b0b6bf;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-dark)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-link{color:#4b5563;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:14px;font-weight:500;display:inline-flex}.btn-link:hover{color:var(--ink);text-decoration:underline}.actions{flex-wrap:wrap;gap:12px;display:flex}.btn-sm{border-radius:6px;padding:6px 12px;font-size:13px}.btn-edit{background:var(--brand);color:var(--brand-ink);border:none}.btn-edit:hover{background:var(--brand-dark)}td .btn-edit{margin-right:10px}.btn-withdraw{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:13px}.btn-withdraw:hover{color:var(--danger);text-decoration:underline}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#f9fafb;font-size:12px;font-weight:700}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#fbfbfa}tr.clickable{cursor:pointer}tr.clickable:hover{background:#f9fafb}.badge{white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.45;display:inline-block}.badge-nominated{color:var(--ink);background:#eef1f0}.badge-unchecked{color:#b45309;background:#fff4e5}.badge-test-pending{color:#7a5d00;background:#fdf6e3}.badge-completed{color:#1d4ed8;background:#e7f0fd}.badge-selected{color:var(--success);background:#e6f4ea}.badge-not-selected{color:#b00020;background:#fdecee}.badge-withdrawn{color:var(--muted);background:#ecebe6}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.filters input,.filters select{border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 10px;font-size:14px}.muted{color:var(--muted);font-size:13px}.filter-label{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.list-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.list-bar .filters{margin-bottom:0}.list-counts{margin:0 0 12px}.pagination{align-items:center;gap:12px;margin-top:16px;display:flex}.page-info{color:var(--muted);font-size:14px}.row-actions{align-items:center;gap:6px;display:flex}.page{max-width:640px}.page-wide{max-width:1600px}.page-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head h2{margin:0}.page-title{margin:0 0 4px;font-size:22px}.page-desc{color:var(--muted);margin:0 0 16px;font-size:14px}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.form input,.form select{border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 10px;font-size:14px}.form input:focus,.form select:focus,.filters input:focus,.filters select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #f7b74240}.form .req{color:var(--danger)}.form-wrap{flex-direction:column;gap:16px;display:flex}.form-card{padding:20px 22px}.card-heading{margin:0 0 6px;font-size:16px;font-weight:700}input[type=file]{margin:8px 0 16px;font-size:14px}.field-label{font-weight:500}.field-readonly{color:var(--muted);cursor:not-allowed;background:#f4f4f0}.preview-card{border:1px solid var(--line);background:#f8f8f5;border-radius:8px;padding:12px 14px}.preview-list{grid-template-columns:auto 1fr;gap:4px 16px;margin:0;display:grid}.preview-list dt{color:var(--muted);font-size:13px}.preview-list dd{margin:0}.success-text{color:var(--success);font-weight:600}.form-error{color:var(--danger);margin:0;font-size:14px}.dropzone{border:2px dashed var(--line);text-align:center;background:var(--surface);color:var(--muted);border-radius:12px;margin-top:16px;padding:36px 20px}.dropzone.over{border-color:var(--brand);background:var(--brand-tint)}.dropzone-text{color:var(--ink);margin:0 0 8px;font-size:15px;font-weight:700}.dropzone-or{color:var(--muted);margin:0 0 8px;font-size:13px}.template-card{background:var(--brand-tint);border-color:var(--brand);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex}.template-card-main{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.template-card-main .card-heading{margin:0}.template-tips{color:var(--muted);min-width:220px;margin:0;padding-left:18px;font-size:14px}.template-tips li{margin-bottom:4px}.upload-scroll{border:1px solid var(--line);border-radius:10px;max-height:42vh;margin-top:12px;overflow:auto}.upload-scroll table{border:none;border-radius:0}.upload-scroll thead th{z-index:1;position:sticky;top:0}.upload-actions-bar{background:var(--bg);border-top:1px solid var(--line);justify-content:flex-end;gap:12px;margin-top:12px;padding:12px 0;display:flex;position:sticky;bottom:0}.reason-cell{color:var(--danger);font-weight:600}.modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:440px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000040}.modal-wide{max-width:900px}.modal-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-head h3{margin:0;font-size:17px}.modal-body{padding:20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;gap:12px;padding:14px 20px;display:flex}.confirm-message{color:var(--ink);margin:0;font-size:14px;line-height:1.5}.modal-actions{justify-content:flex-end;margin-top:20px}.row-menu{display:inline-block;position:relative}.row-menu-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:18px;line-height:1}.row-menu-btn:hover{background:#f0f0ec}.row-menu-overlay{z-index:90;position:fixed;inset:0}.row-menu-pop{z-index:91;background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 6px 20px #0000001f}.row-menu-item{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:14px}.row-menu-item:hover{background:#f4f4f0}.row-menu-item.danger{color:var(--danger)}.row-menu-item:disabled{opacity:.5;cursor:not-allowed}.row-menu-fixed{position:fixed}.help-fab{background:var(--brand);height:40px;color:var(--brand-ink);cursor:pointer;z-index:40;border:none;border-radius:20px;padding:0 18px;font-size:14px;font-weight:700;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 8px #0003}.help-fab:hover{background:var(--brand-dark)}.help-videos{max-width:820px;margin:0 0 28px}.help-videos-title{margin:0 0 12px;font-size:16px}.help-video-frame{aspect-ratio:16/9;background:#111;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #0000001f}.help-video-frame video{object-fit:contain;width:100%;height:100%;display:block}.help-video-list{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.help-video-pick{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:10px 14px;line-height:1.45}.help-video-pick:hover{border-color:var(--brand)}.help-video-pick.is-current{border-color:var(--brand);background:#fdf1d8;font-weight:600}.role-switcher{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:13px;display:flex;position:fixed;bottom:16px;left:16px;box-shadow:0 4px 14px #1018281f}.role-switcher-tag{letter-spacing:.06em;color:var(--brand-ink);background:var(--brand);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.role-switcher-label{color:var(--muted)}.role-switcher select{color:var(--ink);background:var(--bg);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:13px}@media (width<=768px){.app-header{padding:0 16px}.app-header-left{gap:12px}.app-header-program{font-size:10px}.sidebar-toggle{z-index:60;cursor:pointer;background:var(--sidebar-bg);color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;width:60px;height:60px;font-size:18px;display:inline-flex;position:fixed;top:12px;left:12px}.sidebar{z-index:70;height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:65;background:#0006;display:block;position:fixed;inset:0}.app-main{padding:20px 16px}}@media (width<=640px){.card .value{font-size:24px}th,td{padding:8px 10px;font-size:13px}.page{max-width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.app-header-brand{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:flex}.app-header-brand.is-static{cursor:default}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:100%;max-width:380px;padding:28px 26px;box-shadow:0 8px 40px #10182814}.login-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.login-logo{color:var(--danger);display:flex}.login-title{font-size:17px;font-weight:800}.login-subtitle{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.login-form{flex-direction:column;gap:14px;display:flex}.login-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.login-field input{border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:15px}.login-field input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #f7b74240}.login-submit{width:100%;padding:11px}.login-hint{color:var(--muted);background:var(--brand-tint);text-align:center;border-radius:6px;margin:2px 0 0;padding:8px 10px;font-size:12px}.login-note{color:var(--ink);margin:0;font-size:13px}.login-form .btn-link{align-self:center}.portal-main{width:100%;max-width:900px;margin:0 auto;padding:40px 24px 64px}.portal-head{margin-bottom:24px}.portal-welcome{margin:0 0 6px;font-size:26px;font-weight:800}.portal-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.portal-scope{background:var(--brand-tint);color:var(--brand-dark);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600;display:inline-block}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=620px){.portal-grid{grid-template-columns:1fr}}.portal-card{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;box-shadow:var(--card-shadow);color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:22px;font-family:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.portal-card:hover{border-color:var(--brand);transform:translateY(-1px);box-shadow:0 4px 16px #1018281a}.portal-card-icon{background:var(--brand-tint);width:46px;height:46px;color:var(--brand-dark);border-radius:12px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.portal-card-title{font-size:16px;font-weight:700}.portal-card-desc{color:var(--muted);font-size:13px;line-height:1.4}.portal-card-cta{color:var(--brand-dark);margin-top:6px;font-size:13px;font-weight:700}.toast-viewport{z-index:2000;pointer-events:none;flex-direction:column;gap:10px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-left-width:4px;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;animation:.18s toast-in;display:flex;box-shadow:0 8px 24px #10182829}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:#2563eb}.toast-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.toast-success .toast-icon{background:var(--success)}.toast-error .toast-icon{background:var(--danger)}.toast-info .toast-icon{background:#2563eb}.toast-msg{flex:1;padding-top:1px;line-height:1.4}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.toast-close:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.redirect-notice{background:var(--brand-tint);color:#7a5d00;border:1px solid #f0e3b8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.redirect-text{flex:1;min-width:180px}.redirect-spinner{border:2px solid #e6cf8f;border-top-color:var(--brand-dark);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite redirect-spin}@keyframes redirect-spin{to{transform:rotate(360deg)}}@media (width<=640px){.toast-viewport{max-width:none;top:12px;left:12px;right:12px}}.filter-select{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:14px}.app-header-menu-wrap{position:relative}.app-header-avatar{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:2px;padding:2px;font-family:inherit;display:inline-flex}.app-header-avatar-circle{background:var(--brand);width:34px;height:34px;color:var(--brand-ink);letter-spacing:.02em;border-radius:999px;place-items:center;font-size:13px;font-weight:700;display:grid}.app-header-avatar:hover .app-header-avatar-circle,.app-header-avatar[aria-expanded=true] .app-header-avatar-circle{background:var(--brand-dark)}.app-header-avatar[aria-expanded=true] .app-header-avatar-caret{transform:rotate(180deg)}.app-header-avatar-caret{transition:transform .15s}.app-header-menu-overlay{z-index:60;position:fixed;inset:0}.app-header-menu{z-index:61;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:200px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 28px #0000001f}.app-header-menu-user{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;padding:0 4px;font-size:14px;font-weight:700;overflow:hidden}.app-header-menu-lang{margin-bottom:8px;display:none}.app-header-menu-lang .lang-switch{width:100%}.app-header-menu-lang .lang-switch-opt{text-align:center;flex:1}.app-header-menu-logout{text-align:left;cursor:pointer;width:100%;color:var(--danger);background:0 0;border:0;border-radius:6px;padding:8px 4px;font-family:inherit;font-size:14px;font-weight:600;display:block}.app-header-menu-logout:hover{background:#fdf2f4}@media (width<=768px){.app-header-lang{display:none}.app-header-menu-lang{display:block}.app-header-title{font-size:16px}.app-header{padding-top:env(safe-area-inset-top,0px);height:auto;min-height:var(--header-h)}.app-header.has-sidebar{padding-left:84px}}@media (width<=560px){.app-header-titles.has-crumb{flex-direction:column;align-items:flex-start;gap:0}.app-header-crumb{font-size:12px}.app-header-crumb .app-header-crumb-icon{margin-right:4px}.app-header-crumb-sep{display:none}.app-header-titles.has-crumb .app-header-title{max-width:100%}}.mod-scheduler .btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.mod-scheduler .btn-primary{background:var(--brand);color:var(--brand-ink)}.mod-scheduler .btn-primary:hover{background:var(--brand-dark)}.mod-scheduler .btn-primary:disabled{color:#9b8a63;cursor:not-allowed;background:#f3e6c4}.mod-scheduler .btn-secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.mod-scheduler .btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.mod-scheduler .btn-secondary:disabled{color:#b0b6bf;cursor:not-allowed}.mod-scheduler .btn-danger{background:var(--danger);color:#fff}.mod-scheduler .btn-danger:hover{background:var(--danger-dark)}.mod-scheduler .btn-danger:disabled{opacity:.5;cursor:not-allowed}.mod-scheduler .btn-link{color:#4b5563;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:14px;font-weight:500;display:inline-flex}.mod-scheduler .btn-link:hover{color:var(--ink)}.mod-scheduler .btn-sm{border-radius:6px;padding:6px 12px;font-size:13px}.mod-scheduler .actions{flex-wrap:wrap;gap:12px;display:flex}.mod-scheduler .muted{color:var(--muted);font-size:13px}.mod-scheduler .form-error{color:var(--danger);margin:0;font-size:14px}.mod-scheduler .table-wrap{overflow-x:auto}.mod-scheduler table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}.mod-scheduler th,.mod-scheduler td{text-align:left;border-bottom:1px solid var(--line);padding:10px 14px;font-size:14px}.mod-scheduler th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#f9fafb;font-size:12px;font-weight:700}.mod-scheduler tbody tr:last-child td{border-bottom:none}.mod-scheduler tr.clickable{cursor:pointer}.mod-scheduler tr.clickable:hover{background:#f9fafb}.mod-scheduler .dropzone{border:2px dashed var(--line);text-align:center;background:var(--surface);color:var(--muted);border-radius:12px;margin-top:16px;padding:36px 20px}.mod-scheduler .dropzone.over{border-color:var(--brand);background:var(--brand-tint)}.mod-scheduler .dropzone-text{color:var(--ink);margin:0 0 8px;font-size:15px;font-weight:700}.mod-scheduler .dropzone-or{color:var(--muted);margin:0 0 8px;font-size:13px}.mod-scheduler .page{max-width:640px}.mod-scheduler .page-wide{max-width:1160px}.mod-scheduler .row-actions{align-items:center;gap:6px;display:flex}.mod-scheduler .form{flex-direction:column;gap:12px;display:flex}.mod-scheduler .form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.mod-scheduler .form input,.mod-scheduler .form select{border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:14px}.bs-root{--bs-accent:var(--brand)}.bs-h2{color:var(--ink);margin:4px 0 16px;font-size:22px;font-weight:800}.bs-section-title{letter-spacing:-.01em;color:var(--ink);align-items:center;margin:24px 0 12px;font-size:15px;font-weight:700;display:flex}.bs-section-title:before{content:"";background:var(--brand);border-radius:2px;width:4px;height:17px;margin-right:10px}.bs-cards-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.bs-stat{border:1px solid var(--line);background:var(--surface);border-left:4px solid var(--line);box-shadow:var(--card-shadow);border-radius:10px;padding:16px}.bs-stat-value{font-size:28px;font-weight:700;line-height:1.1}.bs-stat-label{color:var(--muted);margin-top:4px;font-size:13px}.bs-stat-hint{color:var(--muted);margin-top:6px;font-size:12px}.bs-stat-brand{border-left-color:var(--bs-accent)}.bs-stat-green{border-left-color:#1a7f37}.bs-stat-amber{border-left-color:#b7791f}.bs-stat-red{border-left-color:#b00020}.bs-stat-blue{border-left-color:#2563eb}.bs-snapshot-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.bs-snapshot{border:1px solid var(--line);background:var(--surface);box-shadow:var(--card-shadow);border-radius:10px;padding:16px}.bs-snapshot-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:13px;font-weight:700}.bs-snapshot-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.bs-snapshot-value{font-size:26px;font-weight:700;line-height:1.1}@media (width<=640px){.bs-snapshot-row{grid-template-columns:1fr}}.bs-note{align-items:flex-start;gap:8px;display:flex}.bs-note-icon{background:var(--bs-accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:12px;font-style:italic;font-weight:700;display:inline-flex}.bs-action-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:8px 0 12px;display:grid}.bs-action-card{border:1.5px solid var(--brand);background:var(--brand-tint);cursor:pointer;text-align:left;color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;width:100%;padding:20px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .15s,background-color .15s;display:flex;position:relative}.bs-action-card:hover:not(:disabled){border-color:var(--brand-dark);background:#fbedcf;transform:translateY(-2px);box-shadow:0 6px 18px #f7b74259}.bs-action-card:disabled{opacity:.55;cursor:not-allowed}.bs-action-card h3{margin:12px 0 6px;font-size:17px}.bs-action-card p{margin:0}.bs-action-arrow{color:var(--brand-dark);transition:transform .15s;position:absolute;top:18px;right:16px}.bs-action-card:hover:not(:disabled) .bs-action-arrow{transform:translate(3px)}.bs-action-icon{background:var(--brand);width:44px;height:44px;color:var(--brand-ink);border-radius:10px;justify-content:center;align-items:center;display:flex}.bs-mini-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:13px;display:flex}.bs-mini-legend span{align-items:center;gap:6px;display:inline-flex}.bs-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--card-shadow);border-radius:10px;margin-bottom:16px;padding:16px}.bs-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.bs-panel-head h3{align-items:center;gap:8px;margin:0;font-size:16px;display:inline-flex}.bs-panel-full{grid-column:1/-1}.bs-narrow{max-width:480px}.bs-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.bs-toolbar select,.bs-search{border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:14px}.bs-search{flex:1;min-width:200px}.bs-toolbar-actions{gap:8px;margin-left:auto;display:flex}.bs-form{flex-direction:column;gap:12px;display:flex}.bs-form label,.bs-field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.bs-form input,.bs-form textarea,.bs-field input,.bs-field select{border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 10px;font-size:14px}.bs-req{color:var(--danger)}.bs-inline-input{border:1px solid var(--line);box-sizing:border-box;border-radius:6px;width:100%;min-width:0;max-width:180px;padding:6px 8px;font-size:14px}.bs-check{cursor:pointer;color:var(--ink);align-items:center;gap:8px;font-size:14px;display:inline-flex}.bs-toggle{margin:4px 0 8px}.bs-hint{font-size:12px}.bs-status{white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:12px}.bs-status-waiting{color:#7a5d00;background:#fdf6e3}.bs-status-assigned{color:#2563eb;background:#e6efff}.bs-status-completed{color:#1a7f37;background:#e6f4ea}.bs-badge{text-transform:capitalize;color:var(--ink);background:#eef1f0;border-radius:12px;padding:2px 10px;font-size:12px}.bs-badge.draft{color:#7a5d00;background:#fdf6e3}.bs-badge.scheduled,.bs-badge.green{color:#1a7f37;background:#e6f4ea}.bs-badge.amber{color:#7a5d00;background:#fdf6e3}.bs-badge.red{color:#b00020;background:#fdecee}.bs-upload .bs-h2{margin-top:10px}.bs-rules{color:var(--muted);margin:0 0 12px;padding-left:18px;font-size:14px}.bs-rules li{margin-bottom:4px}.bs-file-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bs-file-list li{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.bs-file-list li span:first-child{flex:1;align-items:center;gap:8px;display:inline-flex}.bs-upload-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.bs-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:16px 0;display:flex}.bs-tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:14px}.bs-tabs button.active{color:var(--ink);border-bottom-color:var(--brand);font-weight:700}.bs-map-row{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;display:flex}.bs-map-from{font-weight:600}.bs-map-arrow{color:var(--muted)}.bs-map-row select{border:1px solid var(--line);border-radius:6px;padding:7px 9px}.bs-feedback{background:var(--brand-tint);border-radius:8px;margin:12px 0;padding:12px 14px;font-size:14px}.bs-success{text-align:center;padding:20px 0}.bs-success-icon{color:#1a7f37}.bs-batch-list{flex-direction:column;gap:8px;display:flex}.bs-batch-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:12px 14px;transition:border-color .15s}.bs-batch-row:hover{border-color:var(--bs-accent)}.bs-batch-row-main{align-items:center;gap:10px;display:flex}.bs-batch-row-name{font-weight:600}.bs-batch-row-meta{margin-top:4px;font-size:13px}.bs-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin:10px 0 6px;display:flex}.bs-detail-title{align-items:center;gap:12px;display:flex}.bs-detail-title h2{margin:0;font-size:22px}.bs-editable-title{cursor:text;border-bottom:1px dashed #0000}.bs-editable-title:hover{border-bottom-color:var(--line)}.bs-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bs-label-input{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 8px;font-weight:700}.bs-label-lg{font-size:20px}.bs-detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;margin-top:12px;display:grid}@media (width<=900px){.bs-detail-grid{grid-template-columns:1fr}}.bs-mix{margin:0 0 10px}.bs-needs-action{color:#b45309;white-space:nowrap;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.bs-kebab-wrap{position:relative}.bs-kebab{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:8px;padding:6px 8px}.bs-kebab:hover{border-color:var(--bs-accent)}.bs-menu-overlay{z-index:30;position:fixed;inset:0}.bs-menu{z-index:31;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #0000001f}.bs-menu button{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:14px}.bs-menu button:hover{background:#f4f4f0}.bs-menu button.danger{color:#b00020}.bs-dates{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.bs-finalize-hint{margin:4px 0 0}.bs-trainer-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.bs-trainer-card{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.bs-trainer-card.selected{border-color:var(--bs-accent);background:var(--brand-tint)}.bs-trainer-card.disabled{opacity:.55;cursor:not-allowed}.bs-trainer-name{font-weight:600}.bs-staff-meta{color:var(--muted);font-size:12px}.bs-busy{color:#b00020;margin-left:auto;font-size:12px}.bs-pick-list{flex-direction:column;gap:6px;max-height:420px;display:flex;overflow-y:auto}.bs-pick-row{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.bs-pick-row.selected{border-color:var(--bs-accent);background:var(--brand-tint)}.bs-empty{text-align:center;color:var(--muted);padding:40px 0}.bs-empty svg{color:var(--line)}.bs-datefield{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.bs-date-wrap{align-items:center;gap:6px;display:inline-flex;position:relative}.bs-date-input{border:1px solid var(--line);border-radius:6px;width:150px;padding:8px 10px;font-size:14px}.bs-date-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;font-size:15px;line-height:1}.bs-date-btn:hover{border-color:var(--bs-accent)}.bs-date-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0}.bs-input-error{border-color:#b00020}.bs-date-err{color:#b00020;font-size:12px}.bs-modal-backdrop{z-index:120;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.bs-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:20px;overflow-y:auto;box-shadow:0 12px 40px #00000040}.bs-modal-wide{max-width:900px}.bs-modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.bs-modal-title{margin:0;font-size:17px}.bs-modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:16px}.bs-modal-msg{color:var(--ink);margin:0 0 14px;font-size:14px;line-height:1.5}.bs-modal-actions{justify-content:flex-end;margin-top:16px}.bs-warn{color:#7a5d00;background:#fdf6e3;border:1px solid #f0e3b8;border-radius:8px;padding:8px 12px;font-size:13px}.bs-warn-list{margin:0;padding-left:18px}.bs-subtitle{color:var(--muted);margin:-8px 0 18px;font-size:14px;line-height:1.45}.bs-section-title+.bs-subtitle,.bs-detail-head+.bs-subtitle{margin-top:0}.bs-menu-fixed{position:fixed;top:auto}.bs-detail-col{flex-direction:column;gap:16px;min-width:0;display:flex}.bs-modal-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.bs-modal-toolbar .bs-search{min-width:150px}.bs-modal-toolbar select{border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:14px}.bs-pick-selected{margin:0 0 8px}.mod-scheduler tfoot td{border-top:2px solid var(--line);background:#fcfcfb}.bs-pick-size{color:var(--ink);margin:0 0 8px;font-weight:700}.bs-pick-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.bs-pick-all{cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.bs-pick-all input{cursor:pointer}.bs-pick-selected{align-items:center;gap:8px;display:inline-flex}.bs-add-trainer{margin-top:12px}.bs-add-trainer-form{border:1px dashed var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.bs-dept-line{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.bs-dept-chip{border:1px solid var(--line);color:var(--muted);background:#f4f4f0;border-radius:999px;padding:4px 12px;font-size:14px}.bs-dept-chip strong{color:var(--ink);margin-left:4px}.bs-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bs-bulk-actions{align-items:center;gap:12px;display:flex}.mod-scheduler .bs-check-col{text-align:center;width:40px}.bs-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;display:flex}.bs-head-actions{flex-wrap:wrap;gap:10px;display:flex}.bs-edit-pencil{color:var(--muted);vertical-align:middle;margin-left:8px}.bs-editable-title:hover .bs-edit-pencil{color:var(--brand-dark)}.bs-finalize-summary{grid-template-columns:auto 1fr;gap:8px 18px;margin:0;display:grid}.bs-finalize-summary dt{color:var(--muted);font-size:13px}.bs-finalize-summary dd{margin:0;font-weight:600}.bs-scheduled-strip{border:1px solid #b7dfc2;border-left:4px solid var(--success);color:var(--ink);background:#e9f6ed;border-radius:8px;align-items:center;gap:10px;margin:4px 0 16px;padding:10px 12px;display:flex}.bs-scheduled-strip-icon{color:var(--success);flex:none}.bs-scheduled-strip-text{flex:auto;font-size:14px}.bs-check-col input{cursor:pointer}.mod-scheduler .bs-row-selected td{background:var(--brand-tint)}.bs-mobile-warn{color:#d97706;cursor:help}.bs-edit-name{color:var(--bs-accent);white-space:nowrap;align-items:center;gap:4px;margin-left:8px;font-size:12px;font-weight:600;display:inline-flex}.bs-trainer-load{color:var(--muted);margin-top:2px;font-size:12px;font-weight:500}.bs-chip-row{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.bs-choice-chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#f4f4f0;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:14px;transition:background .12s,border-color .12s,color .12s}.bs-choice-chip:hover:not(:disabled){border-color:var(--brand);color:var(--ink)}.bs-choice-chip.selected{background:var(--brand-tint);border-color:var(--brand);color:var(--ink);font-weight:600}.bs-choice-chip:disabled{cursor:default;opacity:.6}.bs-field-label{color:var(--muted);font-size:13px}button.bs-edit-name{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}button.bs-edit-name:hover{text-decoration:underline}.bs-field-name{color:var(--ink);font-weight:700}.bs-field-rec{color:var(--muted);font-weight:400}.bs-field-time{flex:none}.bs-field-time input{width:150px}.bs-time-derived{color:var(--muted);margin:0 0 12px;font-size:13px}.bs-batch-mix{margin-bottom:12px}.bs-dept-count{color:var(--ink);margin-right:4px;font-size:13px;font-weight:700}.vn-root{background:var(--bg);min-height:100vh}.vn-main{flex:1;justify-content:center;min-width:0;padding:20px 16px 64px;display:flex}.vn-page{flex-direction:column;gap:12px;width:100%;min-width:0;max-width:560px;display:flex}.vn-page>*{min-width:0}.vn-eyebrow{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.vn-title{color:var(--ink);margin:0;font-size:26px;font-weight:800;line-height:1.2}.vn-sub,.vn-muted{color:var(--muted);margin:0;font-size:14px}.vn-center{text-align:center}.vn-rule{border:0;border-top:1px solid var(--line);margin:12px 0}.vn-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:12px;padding:16px}.vn-card-title{color:var(--ink);margin:0 0 2px;font-size:15px;font-weight:700}.vn-card-desc{color:var(--muted);margin:0;font-size:13px}.vn-section-title{margin:0;font-size:17px;font-weight:700}.vn-back{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:14px}.vn-back:hover{color:var(--ink)}.vn-link{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.vn-link:hover{text-decoration:underline}.vn-btn{cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-size:15px;font-weight:700}.vn-btn-block{width:100%}.vn-btn-primary{background:var(--danger);color:#fff}.vn-btn-primary:hover:not(:disabled){background:var(--danger-dark)}.vn-btn-primary:disabled{cursor:not-allowed;background:#f3a9bb}.vn-btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.vn-req-card,.vn-start-card{background:var(--brand-tint);border-color:#f0e3b8;justify-content:space-between;align-items:center;gap:12px;display:flex}.vn-req-actions{flex-shrink:0;gap:14px;display:flex}.vn-list-head{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.vn-check-row{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.vn-check-main{flex-direction:column;gap:2px;display:flex}.vn-check-name{color:var(--ink);font-size:15px;font-weight:700}.vn-check-date{color:var(--muted);font-size:12px}.vn-form{flex-direction:column;gap:14px;display:flex}.vn-field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.vn-field-row{gap:12px;display:flex}.vn-label{color:var(--muted);font-size:12px;font-weight:600}.vn-required{color:var(--danger);margin-left:2px}.vn-optional{color:var(--muted);margin-left:4px;font-weight:400}.vn-input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:15px}.vn-input:focus{outline:2px solid var(--brand);outline-offset:-1px}.vn-input:disabled{color:var(--muted);background:#f9fafb}select.vn-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}select.vn-input:disabled{cursor:default}.vn-textarea{resize:vertical}.vn-error{color:var(--danger);margin:0;font-size:13px}.vn-venue-card{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.vn-venue-card .vn-rule{margin:8px 0 2px}.vn-venue-name{color:var(--ink);margin:0;font-size:16px;font-weight:700}.vn-venue-addr{color:var(--muted);margin:0;font-size:13px}.vn-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 14px;width:100%;display:grid}.vn-meta-grid p{margin:2px 0 0;font-size:14px;font-weight:600}.vn-progress{width:100%}.vn-progress-bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.vn-progress-bar span{background:var(--brand);height:100%;transition:width .2s;display:block}.vn-progress-text{color:var(--muted);margin:6px 0 0;font-size:12px}.vn-section-row{text-align:left;cursor:pointer;align-items:flex-start;gap:12px;width:100%;display:flex}.vn-section-num{background:var(--brand);width:26px;height:26px;color:var(--brand-ink);border-radius:999px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.vn-section-main{flex-direction:column;flex:1;gap:2px;display:flex}.vn-section-name{color:var(--ink);font-size:15px;font-weight:700;line-height:26px}.vn-section-desc{color:var(--muted);font-size:12px}.vn-section-prog{color:var(--ink);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.vn-section-meta{color:var(--muted);flex-shrink:0;align-self:center;align-items:center;gap:8px;display:flex}.vn-flow-head{justify-content:space-between;align-items:center;display:flex}.vn-pill{background:var(--brand-tint);color:#7a5d00;border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:12px;font-weight:700}.vn-block{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.vn-block-head{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:14px 16px;display:flex}.vn-block-title{color:var(--ink);font-size:15px;font-weight:700}.vn-block-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.vn-chevron{color:var(--muted);transition:transform .15s;display:inline-block}.vn-chevron.open{transform:rotate(180deg)}.vn-block-collapse{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.vn-block-collapse.is-open{grid-template-rows:1fr}.vn-block-clip{min-height:0;overflow:hidden}.vn-block-body{flex-direction:column;gap:14px;padding:0 16px 16px;display:flex}@media (prefers-reduced-motion:reduce){.vn-block-collapse{transition:none}}.vn-guidance{background:#f4f4f5;border-radius:8px;padding:12px 14px}.vn-guidance-title{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.vn-guidance ul{margin:0;padding-left:18px}.vn-guidance li{color:var(--ink);margin-bottom:3px;font-size:13px}.vn-hint{background:#f4f4f5;border-radius:8px;padding:12px 14px}.vn-hint-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.vn-hint p{color:var(--ink);margin:0;font-size:13px}.vn-try{border-left:3px solid var(--warn,#d97706);background:#fffbeb;border-radius:0 8px 8px 0;padding:12px 14px}.vn-try-title{color:#a16207;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.vn-try ul{margin:0;padding-left:18px}.vn-try li{color:var(--ink);margin-bottom:3px;font-size:13px}.vn-fix{border-left:3px solid var(--danger);background:#fdf2f5;border-radius:0 8px 8px 0;padding:12px 14px}.vn-fix-title{color:var(--danger);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.vn-fix p{color:var(--ink);margin:0;font-size:13px}.vn-capacity{gap:10px;display:flex}.vn-pending{background:var(--brand-tint);color:#7a5d00;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;font-weight:600}.vn-question{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.vn-question-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vn-question-text{color:var(--ink);flex:1;margin:0;font-size:14px}.vn-answers{background:#f4f4f5;border-radius:10px;flex-shrink:0;gap:4px;padding:3px;display:flex}.vn-answers.is-wide .vn-answer-btn{min-width:0;padding:8px 11px;font-size:13px}.vn-answer-btn{cursor:pointer;min-width:52px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:700}.vn-answer-btn:hover:not(:disabled){color:var(--ink)}.vn-answer-btn.is-ok{color:#fff;background:#2e9e5b}.vn-answer-btn.is-attention{background:var(--brand);color:var(--brand-ink)}.vn-answer-btn.is-na{color:var(--ink);background:#d8d8dc}.vn-answer-btn:disabled{opacity:.6;cursor:not-allowed}.vn-action{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.vn-action:hover{background:var(--brand-dark)}.vn-action:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.vn-action:disabled{color:var(--muted);cursor:not-allowed;background:#fbe3b3}.vn-action-note{color:var(--muted);margin:6px 0 0;font-size:12px}.vn-photo{flex-direction:column;gap:8px;display:flex}.vn-photo-actions{gap:8px;display:flex}.vn-photo-btn{text-align:center;border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:600}.vn-photo-btn.is-capture{color:var(--danger);background:#fdf2f5;border-color:#f8d3dd}.vn-photo-btn.is-busy{opacity:.6}.vn-photo-grid{flex-wrap:wrap;gap:8px;display:flex}.vn-photo-item{margin:0;position:relative}.vn-photo-item img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:104px;height:104px;display:block}.vn-photo-remove{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:6px;padding:3px 6px;font-size:11px;position:absolute;top:4px;right:4px}.vn-photo-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:10px;padding:26px;font-size:13px}.vn-photo-error{color:var(--danger);margin:0;font-size:12px}.vn-summary-section{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.vn-summary-section.is-tappable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.vn-summary-section.is-tappable:hover{border-color:var(--danger)}.vn-summary-section.is-tappable:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.vn-summary-icon{flex-shrink:0;margin-top:1px;line-height:0}.vn-summary-icon.is-done{color:var(--success)}.vn-summary-icon.is-todo{color:#7a5d00}.vn-summary-icon.is-pending{color:#b45309}.vn-summary-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.vn-summary-status{font-size:13px;font-weight:600}.vn-summary-status.is-done{color:var(--success)}.vn-summary-status.is-todo{color:#b45309}.vn-save{font-size:12px;font-weight:600}.vn-save-saving{color:var(--muted)}.vn-save-saved{color:var(--success)}.vn-save-error{color:var(--danger)}.vn-filters{flex-wrap:wrap;gap:8px;display:flex}.vn-report{flex-direction:column;gap:6px;display:flex}.vn-report-top{align-items:center;gap:10px;display:flex}.vn-report-when{color:var(--muted);flex:1;font-size:12px}.vn-report-del{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;display:inline-flex}.vn-report-del:hover{color:var(--danger);background:#fdeaef}.vn-report-name{color:var(--ink);margin:2px 0 0;font-size:16px;font-weight:700}.vn-report-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.vn-filter{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--muted);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.vn-filter.is-active{border-color:var(--danger);color:var(--danger);background:#fdeaef}.vn-diagram-card{text-align:center;background:#fdfaf4;border-color:#f0e4d0}.vn-diagram-title{color:var(--ink);margin:0;font-size:17px;font-weight:800}.vn-diagram-sub{color:var(--muted);margin:2px 0 12px;font-size:13px}.vn-diagram-img{border-radius:8px;width:100%;height:auto;display:block}.vn-diagram-caption{color:#8a6d3b;text-align:left;margin:12px 0 0;font-size:12px;line-height:1.5}.vn-req-item{align-items:flex-start;gap:12px;display:flex}.vn-req-icon{background:var(--brand-tint);width:30px;height:30px;color:var(--ink);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.vn-req-item-title{color:var(--ink);margin:0 0 3px;font-size:15px;font-weight:700}.vn-req-item-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.55}@media (width<=420px){.vn-field-row{flex-direction:column}.vn-req-card,.vn-start-card{flex-direction:column;align-items:flex-start}.vn-question-row{flex-direction:column;align-items:flex-start;gap:8px}}.vn-req-section{margin-bottom:12px}.vn-req-section .vn-req-item-title{align-items:center;gap:8px;margin:0 0 10px;display:flex}.vn-req-list{color:var(--ink);margin:0;padding-left:22px;font-size:14px;line-height:1.65}.vn-req-list>li{margin-bottom:6px}.vn-req-sublist{color:var(--muted);margin:4px 0 0;padding-left:18px;font-size:13px;list-style:none}.vn-req-sublist>li:before{content:"– "}.vn-diagram-block{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:16px;margin-top:12px;display:grid}@media (width<=560px){.vn-diagram-block{grid-template-columns:1fr}}.vn-diagram-figure{margin:0 0 12px}.vn-diagram-notes{color:var(--muted);margin:0;padding-left:18px;font-size:13px;font-style:italic;line-height:1.7}.vn-req-doc-head{margin-bottom:12px}.vn-req-doc-title{margin:0 0 4px;font-size:20px;font-weight:700}.vn-req-doc-intro{color:var(--muted);margin:0;font-size:14px}.vn-download-error{color:var(--danger);font-size:12px;font-weight:600}.vn-summary-head{align-items:center;gap:10px;display:flex}.vn-summary-main{flex:1;min-width:0}.vn-summary-todo{border-top:1px solid var(--line);margin:8px 0 0;padding:8px 0 0;list-style:none}.vn-summary-todo li{justify-content:space-between;align-items:baseline;gap:10px;padding:3px 0;display:flex}.vn-summary-todo-name{color:var(--ink);font-size:13px}.vn-summary-todo-state{color:var(--muted);white-space:nowrap;font-size:12px}.vn-check-table-card{padding:0;overflow:hidden}.vn-check-table{border-collapse:collapse;width:100%}.vn-check-table tr+tr{border-top:1px solid var(--line)}.vn-check-table td{vertical-align:middle;padding:14px 16px}.vn-check-cell{cursor:pointer}.vn-check-cell .vn-check-name{color:var(--ink);overflow-wrap:anywhere;font-weight:600;display:block}.vn-check-cell .vn-check-date{color:var(--muted);margin-top:2px;font-size:12px;display:block}.vn-check-status{white-space:nowrap;cursor:pointer;width:1%}.vn-check-actions{white-space:nowrap;text-align:right;width:1%}.vn-check-actions .vn-link{margin-left:12px}.vn-link-danger{color:var(--danger)}@media (width<=560px){.vn-check-table,.vn-check-table tbody,.vn-check-table tr{width:auto;display:block}.vn-check-table tr{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:12px 16px;display:grid}.vn-check-table td{border:0;padding:0;display:block}.vn-check-cell{grid-area:1/1}.vn-check-status{text-align:right;grid-area:1/2;width:auto}.vn-check-actions{text-align:right;white-space:nowrap;grid-area:2/2;width:auto}.vn-check-actions .vn-link{margin-left:14px}}.vn-list-head{margin-top:28px}.vn-diagram-block.is-image-only{grid-template-columns:1fr}.vn-btn-sm{width:auto;padding:7px 14px;font-size:13px}
