:root{--green:#145a3a;--green2:#1f7950;--lime:#e8f3eb;--gold:#e9b832;--red:#b73936;--ink:#17251d;--muted:#718078;--line:#e6ece7;--paper:#f5f8f5;--white:#fff;--shadow:0 12px 34px #173c2810}
    .nav a{color:#d6e8da;text-decoration:none;text-align:left;padding:10px 12px;border-radius:9px;display:flex;gap:11px;align-items:center}.nav a:hover,.nav a.active{background:#ffffff19;color:#fff}
    @media(max-width:950px){.sidebar{width:220px}.main{margin-left:220px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.quick{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:650px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.topbar{height:62px;padding:0 15px}.content{padding:22px 15px}.role-select{max-width:145px;font-size:11px}.mobile-menu{display:inline-block;border:0;background:none;font-size:21px;margin-right:8px}.top-left{display:flex;align-items:center}.title-row{align-items:flex-start;flex-direction:column}.title-row h1{font-size:24px}.stats{gap:9px}.stat{padding:13px}.stat-val{font-size:22px}.tree-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
    .lesson{border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0}.lesson.locked{opacity:.55;background:#f9faf9}.lesson-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.lesson h3{margin:0 0 4px;font-size:14px}.lesson p{margin:7px 0;color:var(--muted);font-size:12px}.lesson-tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.audio-range{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:8px}.report-box{background:#f7faf7;border-radius:10px;padding:12px;margin:8px 0}.meet-link{color:var(--green);font-weight:700;text-decoration:none}.certificate-preview{border:6px double #cda734;padding:34px;text-align:center;background:#fffef8;color:#25362c}.certificate-preview h1{color:#155b3a;font-family:Georgia,serif}.certificate-preview blockquote{font-family:Georgia,serif;font-style:italic}.firebase-state{font-size:10px;color:var(--muted);white-space:nowrap}
    .auth-wrap{min-height:72vh;display:grid;place-items:center;padding:24px}.auth-panel,.pending-card,.setup-card{width:min(640px,100%);padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-panel h1,.pending-card h1,.setup-card h1{margin:7px 0}.auth-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.auth-form label{display:grid;gap:6px;font-weight:650;font-size:12px}.auth-form input,.auth-form select{border:1px solid var(--line);padding:10px;border-radius:8px}.auth-form .full{grid-column:1/-1}.auth-links{display:flex;gap:8px;flex-wrap:wrap}.setup-card li{margin:8px 0}@media(max-width:650px){.auth-form{grid-template-columns:1fr}.auth-form .full{grid-column:auto}}
    @media print{body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{position:absolute;inset:0;width:100%;margin:0!important;box-shadow:none!important}}
  .brand-logo{width:42px;height:42px;object-fit:contain;flex:none}.auth-logo{display:block;width:90px;height:90px;object-fit:contain;margin:0 auto 16px}

*{box-sizing:border-box}
body:not(.public-mode){margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body:not(.public-mode) button,body:not(.public-mode) input,body:not(.public-mode) select,body:not(.public-mode) textarea{font:inherit}
body:not(.public-mode) .layout{min-height:100vh}
body:not(.public-mode) .sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;width:252px;padding:20px 14px 16px;background:linear-gradient(180deg,#123f2d 0%,#103725 100%);color:#f4f7f4;box-shadow:8px 0 28px #112d1d0a}
body:not(.public-mode) .brand{display:flex;align-items:center;gap:11px;padding:4px 8px 24px}
body:not(.public-mode) .brand strong{display:block;font-size:13px;letter-spacing:.06em;color:#fff}
body:not(.public-mode) .brand small{display:block;margin-top:3px;color:#c6d8cb;font-size:9px;letter-spacing:.1em}
body:not(.public-mode) .nav-label{padding:8px 11px;color:#a9c1b0;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
body:not(.public-mode) .nav{display:grid;gap:4px;overflow-y:auto;padding:0 2px 14px}
body:not(.public-mode) .nav a{min-height:42px;padding:9px 11px;color:#e1ebe3;font-size:12px;font-weight:600;transition:background .15s,color .15s}
body:not(.public-mode) .nav a:hover,body:not(.public-mode) .nav a.active{background:#ffffff15;color:#fff}
body:not(.public-mode) .nav a.active{box-shadow:inset 3px 0 #e9b832}
body:not(.public-mode) .nav .ico{display:grid;place-items:center;width:22px;min-width:22px;color:#f0c84f;font-size:15px}
body:not(.public-mode) .nav a:hover .ico,body:not(.public-mode) .nav a.active .ico{color:#ffdc70}
body:not(.public-mode) .nav .nav-text{min-width:0}
body:not(.public-mode) .sidebar-foot{margin-top:auto;padding:14px 10px 2px;border-top:1px solid #ffffff20;color:#c5d6c9;font-size:10px;line-height:1.7}
body:not(.public-mode) .sidebar-foot b{color:#fff;font-size:11px}
body:not(.public-mode) .main{min-height:100vh;margin-left:252px}
body:not(.public-mode) .topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:0 32px;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
body:not(.public-mode) .crumb{color:#829087;font-size:12px}
body:not(.public-mode) .crumb b{color:#253b2e;font-weight:700}
body:not(.public-mode) .top-actions{display:flex;align-items:center;gap:12px}
body:not(.public-mode) .top-actions .muted{font-size:11px}
body:not(.public-mode) .avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9f1e9;color:var(--green);font-size:11px;font-weight:800}
body:not(.public-mode) .content{width:min(1440px,100%);margin:0 auto;padding:30px 32px 56px}
body:not(.public-mode) .title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}
body:not(.public-mode) .eyebrow{color:#9a7413;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
body:not(.public-mode) h1{color:#183b2a}
body:not(.public-mode) .title-row h1{margin:4px 0 5px;font-size:clamp(25px,3vw,32px);line-height:1.2;letter-spacing:-.035em}
body:not(.public-mode) .subtitle{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
body:not(.public-mode) .card{margin:0 0 18px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
body:not(.public-mode) .card h2{margin:0;color:#203b2c;font-size:15px;line-height:1.35}
body:not(.public-mode) .card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 15px}
body:not(.public-mode) .card-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
body:not(.public-mode) .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body:not(.public-mode) .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
body:not(.public-mode) .stat{min-width:0;padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}
body:not(.public-mode) .stat-label{color:#738178;font-size:11px;font-weight:650}
body:not(.public-mode) .stat-val{margin:5px 0;color:var(--green);font-size:27px;font-weight:800;letter-spacing:-.04em}
body:not(.public-mode) .stat-note{color:#87938b;font-size:10px}
body:not(.public-mode) .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px;border:1px solid #dce5dd;border-radius:8px;background:#fff;color:#34523f;text-decoration:none;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
body:not(.public-mode) .btn:hover{border-color:#a9c6af;background:#f4f8f4}
body:not(.public-mode) .btn.primary{border-color:var(--green);background:var(--green);color:#fff}
body:not(.public-mode) .btn.primary:hover{border-color:#0e482d;background:#0e482d}
body:not(.public-mode) .btn.danger{border-color:#f0d5d3;background:#fff8f7;color:#a6312d}
body:not(.public-mode) .btn.small{min-height:30px;padding:5px 9px;font-size:10px}
body:not(.public-mode) .btn:focus-visible,body:not(.public-mode) a:focus-visible,body:not(.public-mode) input:focus-visible,body:not(.public-mode) select:focus-visible,body:not(.public-mode) textarea:focus-visible{outline:3px solid #e9b83288;outline-offset:2px}
body:not(.public-mode) .table-wrap{width:100%;overflow:auto}
body:not(.public-mode) table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}
body:not(.public-mode) th{padding:10px 11px;background:#f6f8f6;color:#748178;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
body:not(.public-mode) td{padding:11px;border-bottom:1px solid #edf1ed;color:#415349;vertical-align:middle}
body:not(.public-mode) tbody tr:last-child td{border-bottom:0}
body:not(.public-mode) .person{display:flex;align-items:center;gap:9px;min-width:140px}
body:not(.public-mode) .mini-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf2eb;color:var(--green);font-size:10px;font-weight:800}
body:not(.public-mode) .row-actions{display:flex;gap:5px;flex-wrap:wrap}
body:not(.public-mode) .badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:99px;background:#edf2f8;color:#47617d;font-size:9px;font-weight:750;white-space:nowrap}
body:not(.public-mode) .badge.green{background:#e8f4eb;color:#276544}
body:not(.public-mode) .badge.gold{background:#fff6dc;color:#8a6810}
body:not(.public-mode) .badge.red{background:#fdecea;color:#a53d35}
body:not(.public-mode) .notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #e4ebe4;border-radius:11px;background:#fbfdfb;color:#304639;font-size:11px}
body:not(.public-mode) .filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px}
body:not(.public-mode) input,body:not(.public-mode) select,body:not(.public-mode) textarea{max-width:100%;padding:9px 10px;border:1px solid #dce5dd;border-radius:8px;background:#fff;color:#23392b}
body:not(.public-mode) .filters input{min-width:min(260px,100%)}
body:not(.public-mode) .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
body:not(.public-mode) .field{display:grid;align-content:start;gap:6px;min-width:0}
body:not(.public-mode) .field.full{grid-column:1/-1}
body:not(.public-mode) .field label{color:#526258;font-size:10px;font-weight:750}
body:not(.public-mode) .field textarea{min-height:100px;resize:vertical}
body:not(.public-mode) .quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
body:not(.public-mode) .quick>button,body:not(.public-mode) .quick>.notice{display:flex;align-items:center;gap:9px;min-height:60px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#375440;text-align:left}
body:not(.public-mode) .quick>button{cursor:pointer}
body:not(.public-mode) .quick>button:hover{border-color:#bad0be;background:#f7faf7}
body:not(.public-mode) .quick>button>span:first-child{color:#b58b1b;font-size:18px}
body:not(.public-mode) .quick b{font-size:10px}
body:not(.public-mode) .tree-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body:not(.public-mode) .tree-item{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb}
body:not(.public-mode) .tree-item small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
body:not(.public-mode) .tree-top{padding:13px;border-radius:10px;background:#edf4ee;color:var(--green);font-weight:800}
body:not(.public-mode) .empty{padding:22px;color:var(--muted);text-align:center}
body:not(.public-mode) .muted{color:var(--muted)}
body:not(.public-mode) .modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#10261bb8}
body:not(.public-mode) .modal{width:min(720px,100%);max-height:min(88vh,900px);overflow:auto;padding:24px;border-radius:15px;background:#fff;box-shadow:0 24px 70px #0003}
body:not(.public-mode) .modal h2{margin:0 0 6px;color:#183b2a;font-size:20px}
body:not(.public-mode) .modal>p{color:var(--muted);font-size:12px}
body:not(.public-mode) .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
body:not(.public-mode) .toast{position:fixed;right:22px;bottom:22px;z-index:80;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border-radius:9px;background:#173d2b;color:#fff;box-shadow:0 10px 30px #0003;font-size:12px}
body:not(.public-mode) .mobile-menu{display:none}
body.auth-mode .sidebar,body.auth-mode .topbar{display:none}
body.auth-mode .main{margin-left:0}
body.auth-mode .content{display:grid;min-height:100vh;place-items:center}
@media(max-width:1100px){body:not(.public-mode) .sidebar{width:226px}body:not(.public-mode) .main{margin-left:226px}body:not(.public-mode) .content{padding:25px 22px 44px}body:not(.public-mode) .quick{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body:not(.public-mode) .sidebar{transform:translateX(-100%);transition:transform .2s;width:270px;box-shadow:8px 0 28px #0002}body:not(.public-mode) .sidebar.open{transform:translateX(0)}body:not(.public-mode) .main{margin-left:0}body:not(.public-mode) .topbar{min-height:60px;padding:0 15px}body:not(.public-mode) .mobile-menu{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--green);font-size:20px}body:not(.public-mode) .top-left{display:flex;align-items:center}body:not(.public-mode) .content{padding:20px 15px 38px}body:not(.public-mode) .stats{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.public-mode) .grid2{grid-template-columns:1fr}body:not(.public-mode) .tree-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){body:not(.public-mode) .title-row{align-items:flex-start;flex-direction:column;gap:12px}body:not(.public-mode) .title-row h1{font-size:24px}body:not(.public-mode) .card{padding:15px}body:not(.public-mode) .stats{gap:9px}body:not(.public-mode) .stat{padding:12px}body:not(.public-mode) .stat-val{font-size:22px}body:not(.public-mode) .tree-grid,body:not(.public-mode) .form-grid{grid-template-columns:1fr}body:not(.public-mode) .field.full{grid-column:auto}body:not(.public-mode) .quick{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.public-mode) .auth-panel,body:not(.public-mode) .pending-card,body:not(.public-mode) .setup-card{padding:22px}body:not(.public-mode) .auth-form{grid-template-columns:1fr}body:not(.public-mode) .auth-form .full{grid-column:auto}body:not(.public-mode) .top-actions{gap:7px}body:not(.public-mode) .top-actions #accountLabel{display:none}}
