@font-face{font-family:Inter;src:url('/assets/fonts/Inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--forest:#075D36;--ink:#111111;--paper:#F5F3EE;--white:#fff;--slate:#646B66;--line:#D9DED7;--moss:#4C6B57;--leaf:#BBD7C1;--sprout:#D9E87A;--success:#24633B;--warning:#8A5700;--error:#B3362D;--info:#245C8A;--ease:cubic-bezier(.22,1,.36,1);--shadow:0 10px 30px rgba(17,17,17,.07)}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font:400 14px/1.6 Inter,'PingFang SC','Microsoft YaHei',sans-serif}button,input,textarea,select{font:inherit}button,.button,a{transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease)}button{cursor:pointer}button:active{transform:translateY(1px)}:focus-visible{outline:2px solid var(--forest);outline-offset:3px}.hidden{display:none!important}.muted{color:var(--slate)}.eyebrow{margin:0 0 8px;color:var(--forest);font-size:11px;font-weight:600;letter-spacing:.11em}.error{min-height:20px;color:var(--error)}

.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--paper) url('/assets/brand/contours-paper.svg') no-repeat right bottom/55vw auto}.login-card{width:min(430px,100%);padding:48px;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.login-logo{display:block;width:180px;height:auto;margin-bottom:44px}.login-card h1{margin:0;font-size:32px;line-height:1.3;font-weight:600}.login-card>label,.aside-card>label{display:block;margin-top:22px;color:var(--ink);font-size:13px;font-weight:500}.login-card input{margin-top:8px}.wide{width:100%}.login-card .primary{margin-top:28px}

input,textarea,select{width:100%;border:1px solid var(--slate);border-radius:8px;background:var(--white);color:var(--ink);padding:11px 12px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8a918c}select{appearance:auto}.app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;display:flex;flex-direction:column;padding:28px 20px 20px;color:#fff;background:var(--forest) url('/assets/brand/contours-forest.svg') no-repeat left bottom/460px auto;z-index:10}.brand{padding:2px 8px 30px;border-bottom:1px solid rgba(255,255,255,.2)}.brand img{display:block;width:146px;height:auto}.brand>span{display:block;margin-top:7px;color:var(--leaf);font-size:11px;letter-spacing:.14em}.sidebar nav{margin-top:24px;overflow:auto}.sidebar nav p{margin:22px 12px 7px;color:var(--leaf);font-size:10px;font-weight:600;letter-spacing:.12em}.sidebar nav button{position:relative;width:100%;min-height:44px;display:flex;align-items:center;gap:11px;margin:2px 0;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.8);text-align:left}.sidebar nav button>span:first-child{width:21px;color:var(--leaf);font-weight:600;text-align:center}.sidebar nav button:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar nav button.active{background:var(--white);color:var(--forest);font-weight:600}.badge{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:10px;background:var(--sprout);color:var(--ink);font-size:10px;text-align:center}.account{display:grid;grid-template-columns:36px 1fr 28px;align-items:center;gap:10px;margin-top:auto;padding:17px 8px 2px;border-top:1px solid rgba(255,255,255,.2)}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--leaf);color:var(--forest);font-weight:600}.account strong,.account span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account strong{font-size:12px}.account span{margin-top:1px;color:var(--leaf);font-size:10px}.account button{border:0;background:transparent;color:#fff;font-size:18px}

main{grid-column:2;min-width:0;width:100%;max-width:1600px;padding:42px 48px 80px}header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;padding-bottom:22px;border-bottom:1px solid var(--line)}header h1{margin:0;font-size:32px;line-height:1.3;font-weight:600}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary,.secondary,.danger,.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:10px 16px;font-weight:500;text-decoration:none}.primary{background:var(--forest);color:#fff}.primary:hover{background:#054a2b}.secondary{border-color:var(--line);background:var(--white);color:var(--ink)}.secondary:hover{border-color:var(--moss);color:var(--forest)}.danger{border-color:#e2b9b5;background:#fff;color:var(--error)}.danger:hover{background:#fff4f3}

.stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px}.stat{min-height:142px;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:8px}.stat .topline{display:flex;justify-content:space-between;color:var(--slate);font-size:12px}.stat i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--leaf);color:var(--forest);font-style:normal;font-weight:600}.stat strong{display:block;margin-top:20px;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.panel{margin-top:20px;background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-head{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:18px;font-weight:600}.panel-head .muted{display:block;margin-top:3px;font-size:12px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.flow-step{min-height:120px;padding:24px;background:var(--white)}.flow-step b{display:block;color:var(--forest);font-size:21px}.flow-step span{display:block;margin-top:18px;color:var(--slate)}

.toolbar,.drive-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.toolbar input{width:min(390px,48vw)}.toolbar .count{margin-left:auto;color:var(--slate);font-variant-numeric:tabular-nums}.selection-tools{display:flex;align-items:center;gap:8px}.selection-tools span{color:var(--slate);font-size:12px;white-space:nowrap}.selection-tools select{width:auto;min-width:112px;padding:9px 28px 9px 10px}.selection-tools button{min-height:40px;white-space:nowrap}.table-wrap{overflow:auto;background:var(--white);border:1px solid var(--line);border-radius:8px}.table-wrap.flat{border:0;border-radius:0}table{width:100%;min-width:850px;border-collapse:collapse}th,td{padding:15px 16px;border-bottom:1px solid #e8ebe7;text-align:left;vertical-align:middle}th{background:#faf9f5;color:var(--slate);font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap}th>input[type=checkbox],td>input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--forest)}tbody tr:hover{background:#fbfcf9}tbody tr:last-child td{border-bottom:0}.title-cell strong{display:block;max-width:440px;font-size:14px;font-weight:600}.title-cell span{display:block;max-width:560px;margin-top:3px;overflow:hidden;color:var(--slate);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.chip{display:inline-flex;align-items:center;border-radius:4px;padding:3px 8px;background:#edf0ed;color:var(--moss);font-size:11px;white-space:nowrap}.chip.pending{background:#fff3df;color:var(--warning)}.chip.ok{background:#e9f3ec;color:var(--success)}.chip.no{background:#fae9e7;color:var(--error)}.chip.draft{background:#ecefed;color:var(--slate)}.row-actions{white-space:nowrap}.row-actions button,.link-button{min-height:32px;border:0;background:transparent;color:var(--forest);padding:5px 8px;text-decoration:underline;text-underline-offset:3px}.row-actions .delete{color:var(--error)}.empty{padding:72px 24px;color:var(--slate);text-align:center}.empty b{display:block;margin-bottom:5px;color:var(--ink);font-size:16px}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:block;color:var(--ink);font-size:13px;font-weight:500}.form-grid label.full{grid-column:1/-1}.form-grid label>input,.form-grid label>textarea,.form-grid label>select{display:block;margin-top:7px}.rich-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:7px}.rich-toolbar{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rich-toolbar button{min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--forest)}.rich-toolbar-hint{color:var(--slate);font-size:12px;font-weight:400}.rich-editor textarea{min-height:190px}.rich-preview{min-height:190px;max-height:480px;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:#faf9f5;font-weight:400}.rich-preview p,.rich-render p,.review-explanation p{margin:0 0 12px}.rich-preview figure,.rich-render figure,.review-explanation figure{margin:14px 0}.rich-preview img,.rich-render img,.review-explanation img{display:block;max-width:100%;max-height:520px;object-fit:contain;border-radius:8px;cursor:zoom-in;background:#edf0ed}.rich-preview figcaption,.rich-render figcaption,.review-explanation figcaption{margin-top:5px;color:var(--slate);font-size:12px}.meta-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--slate);font-size:12px}.options{display:grid;gap:10px;margin:24px 0}.option{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:#fff}.option>b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef1ed;color:var(--forest)}.option.answer{border-color:var(--forest);background:#f2f8f4}.option.answer>b{background:var(--forest);color:#fff}

.subpage-shell{max-width:1380px;margin:0 auto}.subpage-shell.narrow{max-width:820px}.back-link{min-height:40px;margin-bottom:20px;padding:6px 0;border:0;background:transparent;color:var(--forest);font-weight:500}.page-editor{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px}.editor-main{display:grid;gap:18px}.editor-section{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:8px}.editor-section.standalone{margin-top:4px}.section-heading{margin-bottom:24px;padding-bottom:17px;border-bottom:1px solid var(--line)}.section-heading span{color:var(--forest);font-size:10px;font-weight:600;letter-spacing:.12em}.section-heading h2{margin:4px 0 0;font-size:21px}.editor-aside,.review-sidebar{position:sticky;top:24px}.aside-card{padding:24px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--forest);border-radius:8px}.aside-card h3{margin:2px 0 8px;font-size:18px}.aside-card p{margin:0 0 22px;color:var(--slate);font-size:13px}.aside-card button+button{margin-top:9px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}

.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px}.review-content{min-width:0}.review-content>.meta-line{padding:16px 20px;background:var(--white);border:1px solid var(--line);border-radius:8px}.review-document{margin-top:14px;padding:38px 42px;background:var(--white);border:1px solid var(--line);border-radius:8px}.review-document h1{max-width:800px;margin:0 0 28px;font-size:28px;line-height:1.45}.question-title{font-size:19px;font-weight:600}.knowledge-note{margin-top:28px;padding:20px;background:#f1f7f2;border-left:3px solid var(--forest)}.knowledge-note h3,.review-explanation h2{margin:0 0 14px}.review-explanation{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.review-explanation>section{padding:16px 0;border-bottom:1px solid #e8ebe7}.review-explanation>section>b{display:block;margin-bottom:7px;color:var(--forest)}.review-history{margin-top:14px;padding:20px;background:var(--leaf);border-radius:8px;color:#153d29}.review-history p{margin:4px 0}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.review-actions button{width:100%}

.drive-toolbar{justify-content:space-between}.drive-toolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.breadcrumbs button,.file-name{border:0;background:transparent;color:var(--ink);font-weight:500}.breadcrumbs span{color:var(--slate)}.file-name.folder{color:var(--forest)}.drive-drop{margin-bottom:16px;padding:19px;border:1px dashed var(--moss);border-radius:8px;background:rgba(187,215,193,.18);color:var(--moss);text-align:center}.drive-drop.dragging{background:var(--leaf);color:var(--forest)}

.users-panel{margin-top:20px}.users-panel input.user-display-name{min-width:150px;padding:7px 9px;border-color:transparent;background:transparent;font-weight:600}.users-panel input.user-display-name:focus{border-color:var(--slate);background:#fff}.users-panel td small{display:block;margin-top:2px;color:var(--slate)}.users-panel select{min-width:130px;padding:8px}.switch{position:relative;display:inline-block;width:42px;height:24px}.switch input{position:absolute;opacity:0}.switch span{position:absolute;inset:0;border-radius:12px;background:#b8bdb9;transition:.16s}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.16s}.switch input:checked+span{background:var(--forest)}.switch input:checked+span:after{transform:translateX(18px)}

#toast{position:fixed;right:28px;bottom:28px;z-index:100;max-width:360px;padding:12px 17px;border-radius:8px;background:var(--ink);color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s var(--ease)}#toast.show{opacity:1;transform:none}#toast.error{background:var(--error)}dialog{display:none}

@media(max-width:1100px){.app{grid-template-columns:82px minmax(0,1fr)}.sidebar{width:82px;padding-inline:12px}.brand img{width:56px}.brand>span,.sidebar nav p,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center}.sidebar nav button>span:first-child{font-size:13px}.account{grid-template-columns:1fr}.account>div:not(.avatar),.account>button{display:none}.avatar{margin:auto}main{padding:34px 26px 60px}.page-editor,.review-layout{grid-template-columns:1fr}.editor-aside,.review-sidebar{position:static}.aside-card{display:grid;grid-template-columns:1fr 1fr;gap:10px}.aside-card .eyebrow,.aside-card h3,.aside-card p,.aside-card label{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app{grid-template-columns:64px minmax(0,1fr)}.sidebar{width:64px;padding-inline:8px}.brand{padding-inline:0}.brand img{width:48px}main{padding:24px 14px 50px}header{align-items:flex-start;flex-direction:column}header h1{font-size:26px}.header-actions{width:100%}.stats{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.form-grid,.rich-editor{grid-template-columns:1fr}.form-grid label.full,.rich-toolbar{grid-column:auto}.editor-section,.review-document{padding:22px 18px}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{width:100%}.toolbar .count{margin-left:0}.selection-tools{flex-wrap:wrap}.drive-toolbar{align-items:flex-start;flex-direction:column}.aside-card{grid-template-columns:1fr}.review-actions{grid-template-columns:1fr}.login-card{padding:34px 25px}.login-page{padding:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.list-toolbar>select{width:auto;min-width:120px;padding:10px 28px 10px 10px}
