:root{font-family:DM Sans,PingFang SC,Microsoft YaHei,sans-serif;color:#1c2b27;background:#eef2ef;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18352e;--green: #173b34;--green-2: #28584c;--gold: #bd8731;--line: #d8e2dd;--muted: #687a73;--paper: #fff;--soft: #f5f7f5;--danger: #a94442}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:600;transition:.18s ease}button:hover:not(:disabled){border-color:#9db2aa;background:#f7f9f8;transform:translateY(-1px)}button:disabled{opacity:.42;cursor:not-allowed}.primary,.button-like.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover:not(:disabled){background:#214b42;border-color:#214b42}.wide{width:100%;padding:12px}.icon-button{padding:8px;border-color:transparent;background:transparent}.kicker{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#d3bd91}.kicker.dark{color:var(--gold)}input,textarea,select{width:100%;border:1px solid #cad6d1;border-radius:6px;padding:9px 10px;color:#1d302a;background:#fff;outline:none;transition:border .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:#5a8478;box-shadow:0 0 0 3px #3770601a}textarea{resize:vertical;line-height:1.55}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#53645e}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-loading,.fatal-state{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--muted)}.loader{width:30px;height:30px;border:3px solid #c9d6d1;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.fatal-state h1{color:var(--ink);margin:0}.fatal-state p{max-width:560px;text-align:center}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{background:var(--green);color:#fff;padding:58px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-210px;bottom:-170px;box-shadow:0 0 0 65px #ffffff06,0 0 0 130px #ffffff05}.brand-mark{width:46px;height:46px;border:1px solid rgba(255,255,255,.45);display:grid;place-items:center;font-family:Georgia,serif;font-size:22px;position:relative;z-index:1}.login-brand h1{font-family:"Noto Serif SC",serif;font-size:clamp(34px,4vw,58px);line-height:1.35;letter-spacing:-.03em;margin:19px 0}.login-brand p{color:#b9cbc4;font-size:16px}.brand-metric{display:flex;align-items:center;gap:18px;position:relative;z-index:1}.brand-metric strong{font-family:Georgia,serif;font-size:42px;color:#d5aa5b}.brand-metric span{color:#b9cbc4;font-size:13px;line-height:1.7;border-left:1px solid #527169;padding-left:18px}.login-panel{display:grid;place-items:center;padding:38px;background:#f3f5f3}.login-card{width:min(400px,100%);background:#fff;border:1px solid #dde4e0;box-shadow:0 18px 50px #173b3414;padding:44px}.login-card h2{font-family:"Noto Serif SC",serif;font-size:30px;margin:10px 0 5px;color:var(--ink)}.login-card>p{color:var(--muted);margin:0 0 30px}.login-card label{margin:16px 0}.login-card input{padding:12px}.login-card small{display:block;color:#82908b;line-height:1.5;margin-top:18px}.form-error,.banner.error{background:#fff2f0;border:1px solid #edcbc5;color:#963b34;padding:10px 12px;border-radius:6px;font-size:13px}.login-card button{margin-top:12px}.workspace{min-height:100vh}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px)}.wordmark,.account{display:flex;align-items:center;gap:12px}.wordmark-button{border:0;border-radius:0;padding:0;background:transparent;text-align:left}.wordmark-button:hover:not(:disabled){border-color:transparent;background:transparent;transform:none}.wordmark>span{width:34px;height:34px;display:grid;place-items:center;background:var(--green);color:#fff;font-family:Georgia,serif}.wordmark div{display:flex;flex-direction:column}.wordmark small{color:var(--muted);font-size:10px;letter-spacing:.08em;margin-top:2px}.account>span{font-size:13px;color:var(--muted)}.operations-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:72px 0 90px}.operations-hero{max-width:700px;padding-bottom:44px;border-bottom:1px solid var(--line)}.operations-hero h1{margin:10px 0 12px;color:var(--ink);font-family:"Noto Serif SC",serif;font-size:clamp(40px,6vw,64px);line-height:1.2;letter-spacing:-.04em}.operations-hero p{margin:0;color:var(--muted);font-size:16px;line-height:1.8}.function-section{margin-top:42px}.function-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.function-heading h2{margin:7px 0 0;color:var(--ink);font-family:"Noto Serif SC",serif;font-size:26px}.function-heading>span{color:var(--muted);font-size:12px}.function-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.function-card{display:block;min-height:300px;padding:26px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:8px;background:#fff;box-shadow:0 6px 22px #173b340d;text-align:left}.function-card:hover:not(:disabled){border-color:#b8cbc3;border-top-color:var(--gold);background:#fff;box-shadow:0 16px 34px #173b341a;transform:translateY(-3px)}.function-card-top{display:flex;align-items:center;justify-content:space-between}.function-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:7px;background:#e8f0ec;color:var(--green)}.function-status{padding:5px 9px;border-radius:999px;background:#e5f2ec;color:#356b58;font-size:10px}.function-card h3{margin:24px 0 9px;color:var(--ink);font-family:"Noto Serif SC",serif;font-size:23px}.function-card p{min-height:66px;margin:0;color:var(--muted);font-size:13px;font-weight:400;line-height:1.7}.function-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.function-tags span{padding:4px 7px;border:1px solid #dde6e2;border-radius:4px;color:#60736c;font-size:10px;font-weight:500}.function-entry{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:15px;border-top:1px solid #edf1ef;color:var(--green);font-size:12px}.list-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:66px 0}.back-to-functions{margin-bottom:24px;padding:0;border:0;background:transparent;color:var(--muted);font-size:12px}.back-to-functions:hover:not(:disabled){border-color:transparent;background:transparent;color:var(--green);transform:translate(-2px)}.list-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px}.list-hero h1{font-family:"Noto Serif SC",serif;font-size:42px;margin:8px 0;color:var(--ink)}.list-hero p{color:var(--muted);margin:0}.create-actions{display:flex;gap:10px}.list-tools{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.search{width:min(360px,65%);position:relative}.search svg{position:absolute;left:11px;top:10px;color:#8a9893}.search input{padding-left:36px;background:#ffffffa6}.list-tools button.active{background:#e6eeea}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-height:200px;opacity:1}.report-grid[aria-busy=true]{opacity:.55}.report-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 5px 20px #173b340a;position:relative;transition:.2s}.report-card:hover{box-shadow:0 12px 28px #173b3414;transform:translateY(-2px)}.card-accent{height:4px;background:linear-gradient(90deg,var(--green),#6f9b8e 70%,var(--gold) 70%)}.card-body{padding:22px;min-height:170px;cursor:pointer}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.period-pill{font-family:Georgia,serif;font-size:12px;color:#8a672d}.attachment-status{font-size:10px;color:#916b5d;background:#f6efec;padding:4px 7px;border-radius:10px}.attachment-status.complete{color:#356b58;background:#e5f2ec}.report-card h2{font-family:"Noto Serif SC",serif;font-size:19px;line-height:1.55;margin:20px 0 12px;color:var(--ink)}.report-card p{font-size:12px;color:#82908b}.card-actions{display:flex;justify-content:flex-end;gap:7px;padding:10px 15px;border-top:1px solid #edf1ef}.card-actions button{border:0;background:transparent;padding:7px;font-size:12px}.danger-text{color:var(--danger)!important}.empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--muted)}.empty>div{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;margin:auto}.empty h2{font-family:"Noto Serif SC",serif;color:var(--ink);margin:18px 0 8px}.banner.error{margin-bottom:18px}.editor-shell{min-height:100vh}.editor-topbar{position:sticky;top:0;z-index:30;height:68px;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px}.editor-left,.editor-actions{display:flex;align-items:center;gap:8px}.editor-actions{justify-content:flex-end}.editor-left>.icon-button{margin-right:5px}.doc-identity{display:flex;flex-direction:column;gap:2px}.doc-identity input{border:0;padding:2px 4px;box-shadow:none;font-weight:700;max-width:380px;background:transparent}.doc-identity span{font-size:10px;color:#81908b;padding-left:4px}.save-indicator{display:flex;align-items:center;gap:5px;font-size:11px;color:#678078;max-width:250px}.save-indicator.error,.save-indicator.conflict{color:var(--danger)}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.save-error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-menu{position:relative}.download-menu:hover .download-popover,.download-menu:focus-within .download-popover{display:flex}.download-popover{display:none;position:absolute;right:0;top:42px;width:285px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px #173b3424;padding:7px;border-radius:8px;flex-direction:column}.download-popover button{border:0;justify-content:flex-start;text-align:left}.download-popover button span{display:flex;flex-direction:column;min-width:0}.download-popover small{font-weight:400;color:#82908b;max-width:215px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conflict-banner{position:sticky;top:68px;z-index:25;background:#fff7e8;border-bottom:1px solid #e9d19d;color:#795819;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.conflict-banner.error{background:#fff1ef;color:#8e3935;border-color:#e7c0ba}.conflict-banner>div{display:flex;gap:6px}.conflict-banner button{padding:6px 8px;background:transparent}.editor-layout{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;min-width:0}.section-nav{height:calc(100vh - 68px);position:sticky;top:68px;background:#e8eeeb;border-right:1px solid #d5dfda;padding:30px 18px;overflow:auto}.nav-label{display:block;color:#71817b;font-size:10px;letter-spacing:.14em;font-weight:700;margin:0 10px 12px}.section-nav>button{border:0;background:transparent;width:100%;justify-content:flex-start;text-align:left;font-size:12px;font-weight:550;padding:10px;border-radius:5px}.section-nav>button>span{font-family:Georgia,serif;color:#9d7a42;font-size:10px}.section-nav>button.active{background:#fff;box-shadow:0 3px 12px #173b340f;color:var(--green)}.section-nav .add-section{border-top:1px solid #d0dbd6;border-radius:0;margin-top:14px;padding-top:16px;color:var(--green)}.editor-canvas{width:min(1050px,calc(100% - 52px));min-width:0;margin:36px auto 100px}.content-card,.meta-card{background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 5px 18px #173b3409;padding:25px;margin-bottom:18px;min-width:0}.meta-card{padding:16px 25px}.meta-grid,.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.content-card>label{margin-top:16px}.card-kicker{font-size:10px;color:var(--gold);font-weight:750;letter-spacing:.15em;text-transform:uppercase}.header-editor .title-input{font-family:"Noto Serif SC",serif;font-size:25px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.card-heading h2{font-family:"Noto Serif SC",serif;font-size:21px;margin:5px 0 0}.card-heading p{color:var(--muted);font-size:12px;margin:7px 0 0}.editable-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;margin:10px 0;color:#96a39e}.editable-row.compact{align-items:center}.move-buttons{display:inline-flex;gap:2px;align-items:center}.move-buttons button{padding:5px;border:0;background:transparent}.section-editor{scroll-margin-top:90px;padding:0;overflow:hidden}.section-editor-heading{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:12px;padding:20px 24px;background:var(--green);color:#fff}.section-number{font-family:Georgia,serif;color:#d9b46b}.section-editor-heading>input{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.3);color:#fff;border-radius:0;box-shadow:none;font-family:"Noto Serif SC",serif;font-size:19px}.visibility{flex-direction:row;align-items:center;color:inherit;white-space:nowrap;font-weight:500}.visibility input,.inline-check input{width:auto}.section-editor-heading .move-buttons button{color:#fff}.blocks{padding:22px 24px 0}.block-editor{border:1px solid #dfe6e2;border-radius:7px;padding:18px;margin-bottom:16px;background:#fbfcfb}.block-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed #dce4e0;margin:-4px 0 14px;padding-bottom:9px}.block-toolbar>span{font-size:10px;letter-spacing:.12em;color:#77867f;font-weight:750}.block-editor>label{margin:12px 0}.block-editor>textarea{margin-top:8px}.add-block{display:flex;align-items:center;gap:8px;background:#f2f5f3;border-top:1px solid #dde5e1;padding:14px 24px}.add-block select{width:150px}.inline-check{flex-direction:row;align-items:center;margin:8px 0!important}.subtle-add{font-size:12px;padding:7px 9px;background:transparent;border-style:dashed;margin-top:8px}.subtle-add.strong{color:var(--green);border-color:#9fb5ad}.item-card-editor{background:#fff;border:1px solid #dbe4e0;border-left:3px solid #bd8731;padding:15px;margin:13px 0}.item-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.item-card-head>span{font-family:Georgia,serif;color:var(--gold);font-size:12px}.item-card-head>input{font-weight:700;color:var(--green)}.field-editor{display:grid;grid-template-columns:150px 1fr auto auto;gap:8px;align-items:start;margin:9px 0}.field-editor .visibility{color:var(--muted);padding-top:7px}.field-label{font-weight:650}.table-editor-wrap{margin-top:12px}.table-editor{overflow:auto;border:1px solid #d7e1dc;border-radius:5px}.table-editor table{border-collapse:collapse;min-width:740px;width:100%;background:#fff}.table-editor th,.table-editor td{border:1px solid #e0e7e3;padding:7px;vertical-align:top;min-width:170px}.table-editor th{background:#edf2ef}.table-editor th input{font-weight:700;background:transparent}.table-editor textarea{border:0;box-shadow:none;min-height:72px}.table-editor .row-control{min-width:58px;width:58px}.row-control .move-buttons{flex-wrap:wrap}.column-actions{display:flex;justify-content:flex-end}.column-actions button{border:0;background:transparent;padding:3px}.table-editor .add-column{min-width:80px;width:80px}.add-column button{font-size:11px;padding:5px}.metric-editor{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:8px;align-items:start;margin:9px 0}.attachments-editor{border-top:4px solid var(--gold)}.attachment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.attachment-card{border:1px dashed #bfcfc8;border-radius:7px;padding:18px;position:relative;min-height:230px;display:flex;flex-direction:column}.attachment-card.has-file{border-style:solid}.attachment-slot{display:flex;justify-content:space-between;font-weight:750;color:var(--green);margin-bottom:17px}.attachment-slot span{font-size:10px;background:#f2e6d1;color:#8a641f;padding:4px 7px;border-radius:10px}.has-file .attachment-slot span{background:#e5f1eb;color:#386c59}.file-meta{display:flex;flex-direction:column;gap:5px;margin:13px 0;color:#60726b}.file-meta strong{font-size:12px;overflow-wrap:anywhere}.file-meta span{font-size:10px}.attachment-actions{display:flex;gap:6px;margin-top:auto}.attachment-actions button,.button-like{font-size:11px;padding:7px 8px}.button-like{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-weight:600}.drop-hint{text-align:center;color:#778881;margin:auto}.drop-hint svg{color:#9baca5}.drop-hint p{margin:8px 0 2px;font-weight:650}.drop-hint small{font-size:10px}.centered{align-self:center;margin-top:12px}.restore-link{border:0;background:transparent;color:#5f776e;font-size:11px;margin-top:8px}.attachment-working{position:absolute;inset:0;background:#ffffffc7;display:grid;place-items:center}.preview-overlay{position:fixed;inset:0;z-index:60;background:#dce3df;display:grid;grid-template-rows:58px 1fr}.preview-toolbar{background:#173b34;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.preview-toolbar div{display:flex;flex-direction:column}.preview-toolbar span{font-size:10px;color:#a9c0b8}.preview-toolbar button{background:transparent;color:#fff;border-color:#55746b}.preview-overlay iframe{width:100%;height:100%;border:0;background:#edf1ed}@media(max-width:950px){.function-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:minmax(0,1fr)}.section-nav{display:none}.editor-canvas{width:min(920px,calc(100% - 30px));margin-top:22px}.editor-topbar{grid-template-columns:1fr auto}.save-indicator{display:none}.editor-actions button{font-size:0}.editor-actions button svg{margin:0}.download-menu .primary span{display:none}}@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:340px;padding:35px}.brand-metric{display:none}.login-panel{padding:22px}.login-card{padding:30px}.list-page{width:calc(100% - 28px);padding-top:40px}.operations-page{width:calc(100% - 28px);padding:48px 0 64px}.operations-hero{padding-bottom:32px}.operations-hero h1{font-size:42px}.function-section{margin-top:32px}.function-heading{align-items:flex-start;flex-direction:column;gap:8px}.function-grid{grid-template-columns:1fr}.function-card{min-height:0}.list-hero{display:block}.create-actions{margin-top:24px;flex-wrap:wrap}.report-grid{grid-template-columns:1fr}.editor-topbar{padding:0 9px}.doc-identity input{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-actions>button:first-child{display:none}.editor-canvas{width:calc(100% - 18px)}.content-card,.meta-card{padding:17px}.meta-grid,.two-cols,.attachment-grid{grid-template-columns:1fr}.section-editor{padding:0}.section-editor-heading{grid-template-columns:auto 1fr auto}.section-editor-heading>.visibility{display:none}.blocks{padding:14px 12px 0}.add-block{padding:12px}.field-editor,.metric-editor{grid-template-columns:1fr}.field-editor .visibility{padding:0}.item-card-head{grid-template-columns:auto 1fr}.item-card-head .move-buttons{grid-column:2}.attachment-actions{flex-wrap:wrap}.conflict-banner{align-items:flex-start;gap:8px;flex-direction:column}.conflict-banner>div{flex-wrap:wrap}}
