:root{--ink:#17262c;--muted:#718187;--line:#dfe7e5;--paper:#fff;--bg:#f2f5f3;--accent:#c9653c;--navy:#17343c;--green:#25815e;--soft:#f8faf8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.5 Inter,"Microsoft YaHei",system-ui,sans-serif}body[data-theme=ink]{--accent:#236d78;--bg:#eaf0f1}body[data-theme=terra]{--accent:#b85536;--navy:#392c2a}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--navy);color:#fff}.login-intro{padding:12vh 12vw;background:radial-gradient(circle at 80% 10%,#315a61,transparent 42%),var(--navy)}.eyebrow{font-size:11px;letter-spacing:.18em;color:#a9b8bc}.login-intro h1{font:500 clamp(48px,6vw,84px)/1.03 Georgia,serif;margin:90px 0 24px}.login-intro h1 em{color:#e7a177;font-style:normal}.login-intro p{max-width:390px;color:#bdcace;font-size:16px}.intro-meta{margin-top:110px;color:#99acb2;font-size:12px}.login-card{align-self:center;background:#fff;color:var(--ink);width:min(390px,80%);padding:48px;border-radius:16px;margin:auto;box-shadow:0 24px 70px #10262e44}.brand-mark,.side-brand b{display:grid;place-items:center;background:var(--accent);color:#fff;width:42px;height:42px;border-radius:10px;font-weight:800}.login-card h2{font:500 30px Georgia,serif;margin:30px 0 4px}.muted{color:var(--muted)}label{display:block;color:var(--muted);font-size:12px;margin-top:16px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 11px;outline:none;background:#fbfcfb;color:var(--ink);margin-top:6px}textarea{min-height:80px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c96a3d18}.primary{background:var(--accent);color:#fff;border-radius:7px;padding:10px 15px;font-weight:700}.ghost{padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--ink)}.login-card .primary{width:100%;margin-top:26px;display:flex;justify-content:space-between}.login-note{font-size:11px;color:var(--muted);margin-top:18px}.app-shell{min-height:100vh;display:flex}aside{width:230px;background:var(--navy);color:#dce5e6;padding:28px 18px;display:flex;flex-direction:column}.side-brand{display:flex;gap:11px;align-items:center;font-family:Georgia,serif;font-size:17px;margin:0 10px 52px}.side-brand b{width:34px;height:34px;font-size:13px}nav{display:grid;gap:6px}.nav-item{background:none;color:#9eb2b7;text-align:left;border-radius:7px;padding:12px 13px;display:flex;gap:12px;align-items:center}.nav-item.active,.nav-item:hover{background:#ffffff16;color:#fff}.nav-icon{font:11px monospace;color:#7f9da2}.side-foot{margin-top:auto;color:#90a8ad;font-size:12px;line-height:2}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6bc094;margin-right:6px}main{flex:1;padding:40px 5vw;max-width:1600px;margin:auto;width:100%}header,.hero-row,.section-head,.toolbar,.panel-head,.sheet-head,.file-project-head{display:flex;justify-content:space-between;align-items:center}h1{font:500 38px Georgia,serif;margin:7px 0 0}h2{font:500 25px Georgia,serif;margin:0}h3{font-size:14px;margin:0 0 12px}.header-actions,.overview-actions,.toolbar-actions,.row-actions{display:flex;gap:9px;align-items:center}.hero-row{margin:64px 0 25px}.hero-number{font:500 46px Georgia,serif}.hero-number span{font:14px Inter;color:var(--muted);margin-left:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px}.stat span,.stat small{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font:500 22px Georgia,serif;margin:11px 0 4px}.warn{color:var(--accent)}.section-head{margin:48px 0 15px}.search{background:#fff;border:1px solid var(--line);padding:6px 10px;border-radius:7px;color:var(--muted)}.search input{border:0;margin:0;padding:3px;width:190px;box-shadow:none}.project-table{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-head,.project-row{display:grid;grid-template-columns:1.35fr 1.35fr 1fr 1.15fr 1.15fr .8fr;gap:16px;align-items:center;padding:15px 18px}.table-head{background:var(--soft);color:var(--muted);font-size:12px}.project-row{border-top:1px solid var(--line);min-height:80px}.project-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.progress{height:4px;background:#edf0ef;border-radius:4px;margin:6px 0 3px}.progress i{height:100%;display:block;background:var(--accent);border-radius:4px}.progress.green i{background:var(--green)}.text-btn{background:none;color:var(--accent);padding:4px 3px;font-size:12px}.empty-row,.empty-state{padding:45px;text-align:center;color:var(--muted)}.page{display:none}.active-page{display:block}.toolbar{margin:30px 0 22px}.summary-strip{display:grid;grid-template-columns:1fr 1.5fr 1.5fr 1fr 1.3fr;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.summary-strip div{padding:16px;border-right:1px solid var(--line)}.summary-strip small,.summary-strip b{display:block}.summary-strip small{font-size:11px;color:var(--muted)}.summary-strip b{margin-top:6px}.detail-layout{display:grid;grid-template-columns:1.55fr .8fr;gap:16px;margin-top:16px}.sheet-card,.side-panel,.settings-card,.file-group{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px}.sheet-card table{width:100%;border-collapse:collapse;font-size:12px}.sheet-card th,.sheet-card td{padding:10px 7px;border-bottom:1px solid var(--line);text-align:left}.sheet-card th{color:var(--muted);font-weight:400;background:var(--soft)}.sheet-card td small{display:block;color:var(--muted)}.inline-form{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.inline-form .primary{margin-top:14px}.timeline{border-left:1px solid #dbe2e1;margin:18px 0 25px;padding-left:18px}.timeline>div{margin:0 0 20px}.timeline b,.timeline span,.timeline em{display:block;font-size:12px}.timeline span{margin-top:4px}.timeline em{font-style:normal;color:var(--green);margin-top:3px}.match-note{background:#f8f1ed;padding:13px;border-radius:7px;font-size:12px}.match-note p{margin:6px 0 0;color:var(--muted)}.file-project-head{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px 18px}.file-project-head b{color:var(--accent);margin-right:12px}.file-project-head span{flex:1;color:var(--muted)}.file-groups{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.group-title{display:flex;justify-content:space-between;align-items:center}.group-title span{font-size:11px;color:var(--muted)}.file-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:11px 0;font-size:12px}.file-type{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.theme-options{display:flex;gap:8px;margin-top:20px}.theme-options button{padding:8px 12px;background:var(--bg);border:1px solid var(--line);border-radius:6px}.settings-card .ghost{margin-top:16px}.modal{position:fixed;inset:0;background:#12232988;display:grid;place-items:center;padding:20px;z-index:5}.modal-card{background:#fff;width:min(440px,100%);padding:24px;border-radius:10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:#fff;padding:11px 15px;border-radius:7px;opacity:0;transform:translateY(8px);transition:.2s;z-index:8}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1000px){.login-shell{grid-template-columns:1fr}.login-intro{display:none}.app-shell aside{width:72px;padding:20px 10px}.side-brand span,.nav-item>span:last-child,.side-foot{display:none}.side-brand{margin:0 auto 40px}.nav-item{justify-content:center}.stat-grid,.settings-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr}.file-groups{grid-template-columns:1fr}main{padding:28px 20px}}@media(max-width:650px){header{align-items:flex-start;gap:15px}.header-actions .ghost{display:none}.table-head{display:none}.project-row{grid-template-columns:1fr 1fr;padding:15px}.project-row>div:nth-child(2),.project-row>strong{display:none}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip div:nth-child(3){grid-column:span 2}.form-grid{grid-template-columns:1fr}.hero-row{align-items:flex-start;gap:12px;flex-direction:column}}
main{max-width:none;padding:32px 36px}main>.page{width:100%;max-width:none}.settings-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}.file-groups{grid-template-columns:repeat(2,minmax(360px,1fr))}@media(max-width:1000px){main{padding:28px 20px}.settings-grid,.file-groups{grid-template-columns:1fr}}

/* 删除记录：统一使用醒目的红色危险操作标记。 */
.detail-delete,
.delete-record,
.delete-record-marker,
[data-action="delete"],
button[aria-label*="删除"],
button[title*="删除"]{
  color:#dc2626 !important;
  border-color:rgba(220,38,38,.28) !important;
}
.detail-delete:hover,
.delete-record:hover,
.delete-record-marker:hover,
[data-action="delete"]:hover,
button[aria-label*="删除"]:hover,
button[title*="删除"]:hover{
  color:#991b1b !important;
  background:rgba(220,38,38,.08) !important;
  border-color:rgba(220,38,38,.5) !important;
}
