:root{--ink:#18332e;--muted:#6f7c76;--green:#215d4f;--green-dark:#174437;--mint:#e8f0e8;--paper:#f5f6f0;--line:#dde3da;--white:#fff;--amber:#a26e25;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a1cabe;outline-offset:2px}input,select,textarea{width:100%;background:#fff;border:1px solid #d5ddd5;border-radius:9px;padding:12px;color:var(--ink)}textarea{resize:vertical;min-height:100px;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:var(--green)}label{display:block;font-size:13px;font-weight:600;line-height:1.5}label input,label select,label textarea{margin-top:7px}button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 15px;border-radius:9px;font-weight:600}button:hover{background:#f0f4ee}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:var(--green-dark)}.ghost{border:0;background:transparent;padding:8px}.small{font-size:12px;padding:7px 10px}.danger{color:#a03c36}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 11px 25px}.brand-icon{background:var(--green);color:#fff;display:grid;place-items:center;width:38px;height:38px;border-radius:12px}.brand strong{display:block;font-size:19px;letter-spacing:-.6px}.brand small{color:var(--muted);font-size:11px}.nav-caption{font-size:10px;letter-spacing:1.6px;color:#8a958c;padding:22px 12px 10px;font-weight:700}.nav-item{display:flex;gap:11px;width:100%;border:0;background:transparent;text-align:left;margin-bottom:5px;align-items:center;padding:12px;font-size:13px;font-weight:500;border-radius:10px}.nav-item.active{background:var(--mint);color:var(--green);font-weight:700}.nav-item .count{margin-left:auto;background:#fff;padding:2px 7px;border-radius:6px;font-size:11px}.sidebar-footer{margin-top:auto;padding:18px 10px 0;border-top:1px solid var(--line)}.avatar{width:35px;height:35px;border-radius:50%;background:#e9eddf;display:grid;place-items:center;font-weight:700;color:var(--green);flex-shrink:0}.user-row{display:flex;align-items:center;gap:9px;font-size:12px}.user-row strong{display:block}.user-row small{color:var(--muted)}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fcfdf9}.crumb{font-size:12px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:16px}.badge{padding:6px 10px;background:var(--mint);color:var(--green);border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.7px}.content{max-width:1300px;margin:auto;padding:35px 42px 55px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--green)}h1{font-size:34px;line-height:1.15;letter-spacing:-1.1px;font-weight:650;margin:10px 0 12px}h2{font-size:21px;font-weight:600;letter-spacing:-.5px;margin:0 0 10px}h3{font-size:15px;margin:0 0 8px}p{color:var(--muted);line-height:1.6}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{margin:0;max-width:650px}.hero{background:#e6ede1;border-radius:var(--radius);display:grid;grid-template-columns:1fr 290px;padding:30px 34px;position:relative;overflow:hidden;border:1px solid #dbe5d3;margin-bottom:25px}.hero h2{font-size:25px;max-width:500px;margin-top:10px}.hero p{max-width:540px;margin:10px 0 20px;color:#586b5a}.hero-art{position:relative;display:grid;place-items:center;min-height:180px}.paper-stack{transform:rotate(-8deg);background:#fafdf8;box-shadow:12px 10px 0 #bdcfb8,24px 20px 0 #d4dfcd;border:1px solid #bacbb6;width:145px;height:175px;border-radius:7px;padding:22px}.paper-stack .bar{height:5px;background:#d5dfcf;margin:10px 0;border-radius:3px}.paper-stack .bar:first-child{background:var(--green);width:45%;height:8px}.paper-stack .seal{border:1px solid #9db596;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;margin-top:20px;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:32px}.stat{background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px;display:flex;justify-content:space-between}.stat .value{font-size:28px;display:block;letter-spacing:-1px;margin-top:8px}.stat small{color:var(--muted)}.stat .icon{color:var(--green);background:#f2f5ec;border-radius:10px;padding:10px;height:39px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.search{width:280px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:24px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.course-card h3{font-size:19px;line-height:1.4;margin-bottom:10px}.course-card p{font-size:12px;margin:0 0 19px}.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0e9;padding-top:16px;gap:8px}.status{font-size:11px;display:inline-flex;padding:5px 8px;border-radius:5px;background:#f0f1eb;color:#687566}.status.review{background:#f8edda;color:#956526}.status.reviewed{background:var(--mint);color:var(--green)}.empty{padding:44px;text-align:center;background:#fff;border:1px dashed #cbd7c6;border-radius:14px}.empty svg{width:38px;height:38px;color:#779272}.empty h3{margin-top:16px;font-size:20px}.section-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:25px;margin-bottom:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.section-heading p{margin:3px 0;font-size:12px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field.wide{grid-column:1/-1}.hint{font-size:11px;font-weight:400;color:var(--muted);display:block;margin-top:5px;line-height:1.6}.editor-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:27px}.doc-nav{position:sticky;top:20px;align-self:start}.doc-nav button{width:100%;text-align:left;background:transparent;border:0;margin-bottom:3px;font-size:12px;display:flex;gap:9px;padding:11px 10px}.doc-nav button.active{background:#e4eddf;color:var(--green)}.doc-code{font-size:10px;color:#8e9b89;font-weight:700;min-width:24px}.doc-nav .group-label{font-size:9px;letter-spacing:1.2px;color:var(--muted);margin:18px 10px 6px;text-transform:uppercase}.editor-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.editor-top h1{font-size:26px;margin:5px 0}.save-status{font-size:11px;color:var(--muted)}.save-status.error{color:#a03c36}.doc-intro{background:#edf2e8;border:1px solid #dce6d5;padding:16px 19px;border-radius:10px;font-size:12px;color:#516747;margin-bottom:20px;line-height:1.6}.repeat-row{border:1px solid var(--line);padding:18px;border-radius:10px;margin-bottom:12px;background:#fcfdf9}.repeat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.q-card{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:17px;overflow:hidden}.q-head{padding:13px 18px;background:#f8faf4;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.q-body{padding:22px}.question-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.question-types button{font-size:12px}.choice{display:grid;grid-template-columns:26px 1fr 32px;gap:9px;align-items:center;margin-top:10px}.choice input[type=radio]{width:18px}.choice button{padding:6px}.match-row{display:grid;grid-template-columns:1fr 1fr 40px;gap:10px;margin-top:10px}.score{display:flex;align-items:center;gap:8px;font-size:12px}.score input{width:80px;padding:7px}.topic-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.topic-tabs button.active{background:var(--green);color:#fff}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.download-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px}.download-card .actions{display:flex;gap:7px;margin-top:17px;flex-wrap:wrap}.notice{font-size:12px;color:#805d2d;background:#f8f0df;border-radius:9px;padding:15px;line-height:1.6}.logo-preview{max-width:220px;max-height:100px;object-fit:contain;margin:15px 0}.auth-page{background:#eff3e9;min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{max-width:460px;width:100%;padding:38px;background:#fff;border:1px solid var(--line);border-radius:18px}.auth-card h1{font-size:30px}.auth-card form{display:grid;gap:17px;margin-top:25px}.auth-card .brand{padding-left:0}.error{color:#a03c36}.loading{padding:80px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;right:25px;border-radius:10px;background:var(--ink);color:#fff;padding:14px 20px;max-width:440px;box-shadow:0 5px 25px #182d2920;z-index:100;display:none}#toast.show{display:block}.modal-backdrop{position:fixed;inset:0;background:#132c2760;display:grid;place-items:center;padding:25px;z-index:90}.modal{width:540px;max-width:100%;max-height:90vh;overflow:auto;background:white;padding:30px;border-radius:16px}.modal form{display:grid;gap:16px;margin-top:20px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.user-table{width:100%;border-collapse:collapse;background:white;font-size:13px}.user-table th,.user-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}.user-table th{font-size:10px;color:var(--muted);letter-spacing:1px}.mobile-menu{display:none}.check-list{padding:0;list-style:none}.check-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.check-list .ok{color:var(--green)}.check-list .warn{color:#a26e25}.muted{color:var(--muted)}.meta-line{font-size:11px;color:var(--muted)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.demo-banner{background:#e6edde;color:#365b38;padding:8px 20px;text-align:center;font-size:11px}.table-scroll{overflow:auto}.word-count{color:var(--muted);font-size:10px}.thin-rule{height:1px;background:var(--line);margin:24px 0}svg{width:18px;height:18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-note{font-size:11px;color:var(--muted);margin:30px 0 0}.time-total{padding:12px;background:#edf3e7;border-radius:8px;font-size:12px;color:var(--green);margin-top:12px}.help-text{font-size:12px;line-height:1.7;color:var(--muted)}@media(min-width:1500px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.shell{grid-template-columns:190px minmax(0,1fr)}.content{padding:28px 25px}.topbar{padding:0 25px}.editor-layout{grid-template-columns:170px minmax(0,1fr);gap:16px}.hero{grid-template-columns:1fr 180px}.course-grid{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.sidebar{display:none;position:fixed;z-index:80;width:235px}.sidebar.open{display:flex}.mobile-menu{display:inline-block}.topbar{height:65px;padding:0 18px}.content{padding:24px 18px}.top-actions .badge{display:none}h1{font-size:28px}.page-heading{align-items:flex-start}.page-heading>.primary{white-space:nowrap;font-size:12px}.hero{display:block;padding:25px}.hero-art{display:none}.stats{gap:8px}.stat{padding:13px}.stat .icon{display:none}.stat .value{font-size:25px}.editor-layout{display:block}.doc-nav{position:static;display:flex;overflow:auto;gap:4px;margin-bottom:22px;padding-bottom:8px}.doc-nav button{width:auto;flex-shrink:0;white-space:nowrap}.doc-nav .group-label{display:none}.field-grid,.download-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.section-card{padding:18px}.toolbar{align-items:flex-start;flex-direction:column}.search{width:100%}.editor-top{align-items:flex-start}.editor-top .btn-row{justify-content:flex-end}.top-actions{gap:7px}.auth-card{padding:27px}.user-table th,.user-table td{padding:11px}.match-row{grid-template-columns:1fr 1fr 32px}.card-foot{flex-wrap:wrap}}
