@font-face{font-family:Mont;src:url(/fonts/montserrat-vietnamese.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Mont;src:url(/fonts/montserrat-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Mont,ui-sans-serif,sans-serif;color:#183126;background:#f4f8f3;font-synthesis:none;line-height:1.5;--forest:#123f2d;--forest-2:#1f6548;--ink:#183126;--muted:#5b6d63;--line:#d5e1d8;--paper:#fff;--soft:#e8f2e9;--orange:#9b4200;--orange-strong:#7c3200}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(135deg,#f8fbf7,#eef6ef 55%,#f7f5ef)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e37b28;outline-offset:2px}button:disabled{cursor:wait;opacity:.65}.admin-shell{min-height:100vh;display:flex}.sidebar{width:258px;flex:none;background:var(--forest);color:#f4fbf5;padding:24px 16px 18px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ef812b;color:#fff;font-weight:800;letter-spacing:-.06em}.brand strong{display:block;font-size:15px}.brand small{display:block;color:#bcd4c1;font-size:10px;letter-spacing:.04em;margin-top:2px}.sidebar nav{display:grid;gap:4px}.nav-link{border:0;text-align:left;background:transparent;color:#c9dfce;padding:10px 12px;border-radius:8px;font-size:12px}.nav-link:hover,.nav-link.active{background:#235d45;color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid #3a7058;padding:16px 8px 0}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user strong{font-size:12px}.sidebar-user span{color:#bcd4c1;font-size:10px;margin:2px 0 12px}.text-button{border:0;background:none;color:#f6b26f;font-size:11px;padding:0}.workspace{min-width:0;flex:1}.top-header{height:68px;background:#ffffffe0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 clamp(20px,4vw,48px);position:sticky;top:0;z-index:3;backdrop-filter:blur(10px)}.top-header strong{display:block;font-size:13px}.top-header span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px;color:var(--forest)}main#main-content{max-width:1180px;margin:0 auto;padding:46px clamp(20px,4vw,48px) 80px}.page-heading{max-width:720px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--orange);font-weight:800;margin:0 0 10px}.page-heading h1{font-size:clamp(27px,4vw,44px);line-height:1.1;margin:0 0 10px;color:var(--forest);letter-spacing:-.045em}.page-heading>p:last-child{color:var(--muted);font-size:13px;max-width:650px;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:28px}.metric-grid article{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:17px 16px;min-height:100px}.metric-grid article.accent{background:var(--forest);color:#fff;border-color:var(--forest)}.metric-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.metric-grid .accent span{color:#bcd4c1}.metric-grid strong{display:block;font-size:30px;line-height:1;margin-top:24px}.paper-section,.list-panel,.editor-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px}.paper-section h2,.list-panel h2,.editor-panel h2{font-size:16px;margin:0 0 16px;color:var(--forest)}.rule-list{display:grid;gap:0}.rule-list p{display:grid;grid-template-columns:minmax(170px,1fr) 2fr;gap:24px;border-top:1px solid var(--line);padding:14px 0;margin:0;font-size:12px}.rule-list span{color:var(--muted)}.editor-layout{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.5fr);gap:14px}.content-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}.content-list li button{width:100%;text-align:left;background:#f6faf6;border:1px solid transparent;border-radius:7px;padding:11px 12px}.content-list li button:hover{border-color:#a8c9b1;background:#fff}.content-list strong,.content-list span,.content-list small{display:block}.content-list strong{font-size:12px;color:var(--forest)}.content-list span{font-size:10px;color:var(--muted);margin-top:2px}.content-list small{font-size:9px;color:var(--orange);margin-top:5px}.state-panel{border:1px dashed #bfd0c3;border-radius:8px;padding:22px;background:#f7fbf7}.state-panel strong{font-size:13px;color:var(--forest)}.state-panel p{margin:6px 0 0;color:var(--muted);font-size:11px}.state-panel.error{border-color:#d99778;background:#fff8f4}.state-panel.error strong,.form-error{color:#8f360e}.state-panel.success,.form-success{color:#17613d}.editor-toolbar{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.editor-toolbar h2{margin:0}.editor-toolbar label{font-size:10px;color:var(--muted)}select,input,textarea{display:block;width:100%;border:1px solid #b9cbbd;border-radius:6px;background:#fff;color:var(--ink);padding:9px 10px;font-size:12px}label{font-size:11px;color:var(--muted);display:grid;gap:6px}.editor-field{font-size:11px}.editor-field textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.55;resize:vertical}.action-row{display:flex;gap:8px;margin-top:14px}.action-row button,.dialog-actions button,.upload-form button,.standalone>button{border:1px solid #b8cabe;background:#fff;color:var(--forest);border-radius:6px;padding:9px 14px;font-size:11px}.primary{background:var(--orange)!important;color:#fff!important;border-color:var(--orange)!important}.primary:hover{background:var(--orange-strong)!important}.wide{width:100%;padding:12px}.form-error,.form-success{font-size:11px;margin:12px 0}.media-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:14px}.upload-form{display:grid;gap:14px;align-content:start}.data-preview{font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow:auto;max-height:520px;margin:0;color:#284337}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,520px) 1fr}.login-panel{background:#fff;padding:clamp(36px,8vw,90px);display:flex;flex-direction:column;justify-content:center}.login-brand{margin-bottom:56px}.login-panel h1{font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.05em;color:var(--forest);margin:0 0 14px}.login-panel .lead{font-size:12px;color:var(--muted);margin:0 0 28px}.login-panel form{display:grid;gap:15px}.login-panel label{font-size:11px}.staging-note{color:var(--muted);font-size:10px;margin-top:28px}.login-art{background:var(--forest);color:#fff;position:relative;display:flex;align-items:flex-end;padding:clamp(30px,7vw,90px);overflow:hidden}.login-art p{font-size:clamp(30px,5vw,78px);line-height:1.02;letter-spacing:-.06em;position:relative;z-index:1;margin:0}.grain{position:absolute;inset:12% 12% auto auto;width:52vw;height:52vw;max-width:650px;max-height:650px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ef812b 0 2%,transparent 2.5%),radial-gradient(circle at 65% 72%,#5f996f 0 2%,transparent 2.5%),linear-gradient(135deg,#1f6548,#123f2d);opacity:.9;box-shadow:inset 0 0 0 1px #ffffff21;transform:rotate(-16deg)}dialog{border:1px solid var(--line);border-radius:10px;padding:24px;max-width:420px;color:var(--ink)}dialog::backdrop{background:#123f2d59}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:900px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:5;transform:translate(-105%);transition:transform .2s ease}.sidebar.is-open{transform:translate(0)}.menu-button{display:block}.metric-grid{grid-template-columns:repeat(3,1fr)}.login-page{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:620px){main#main-content{padding:30px 16px 56px}.top-header{padding:0 16px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid article:last-child{grid-column:span 2}.editor-layout,.media-layout{grid-template-columns:1fr}.rule-list p{grid-template-columns:1fr;gap:4px}.editor-toolbar{display:grid}.login-panel{padding:30px 22px}.login-brand{margin-bottom:42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
