:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#14213d;background:radial-gradient(circle at top left,rgba(241,196,15,.22),transparent 28%),linear-gradient(180deg,#f5f1e8,#eef3f8);--ink-strong: #14213d;--ink-base: #23395b;--ink-soft: #5b6b7f;--panel: rgba(255, 252, 245, .94);--panel-strong: rgba(255, 255, 255, .96);--line: rgba(20, 33, 61, .1);--accent: #0f766e;--accent-soft: rgba(15, 118, 110, .12);--warm: #b45309;--warm-soft: rgba(245, 158, 11, .14);line-height:1.4;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{padding:28px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fffcf5f5,#f3f7fbf5);box-shadow:0 14px 36px #14213d12}.eyebrow{margin:0 0 8px;color:#8a6d1f;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.hero h1,.modal h2,.drawer h2{margin:0;line-height:1.08}.hero h1{font-size:clamp(24px,3vw,34px)}.modal h2,.drawer h2{font-size:clamp(26px,3vw,36px)}.hero-copy{max-width:520px;margin:8px 0 0;color:var(--ink-soft);font-size:14px}.hero-actions{display:flex;flex-direction:row;gap:12px;align-items:flex-end}.primary-button,.ghost-button,.icon-button{border-radius:999px;border:none;transition:transform .18s ease,box-shadow .18s ease}.primary-button{padding:12px 20px;background:linear-gradient(135deg,#0f766e,#1d4ed8);color:#fff;box-shadow:0 14px 28px #1d4ed833}.ghost-button,.icon-button{padding:10px 16px;background:#14213d0f;color:#14213d}.primary-button:hover,.ghost-button:hover,.icon-button:hover,.card-title:hover,.alert-card:hover,.schedule-card:hover{transform:translateY(-1px)}.snapshot{display:grid;gap:4px;min-width:180px;padding:12px 16px;border-radius:18px;background:linear-gradient(180deg,#14213d0f,#14213d08);border:1px solid rgba(20,33,61,.08)}.snapshot strong{font-size:13px}.snapshot span{color:#425466;font-size:14px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.summary-card{position:relative;overflow:hidden;padding:14px 16px;border-radius:20px;background:linear-gradient(180deg,#fffffff2,#fafbfce6);border:1px solid var(--line);box-shadow:0 10px 24px #14213d0d}.summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#0f766e,#1d4ed8)}.summary-card span{display:block;color:var(--ink-soft);font-size:13px}.summary-card strong{display:block;margin-top:6px;font-size:24px;line-height:1;color:var(--ink-strong)}.toolbar{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(180px,220px));gap:12px;margin-top:20px}.toolbar input,.toolbar select,.stage-select,.timeline-form input,.timeline-form select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid rgba(20,33,61,.12);border-radius:16px;background:#ffffffdb;padding:12px 14px;color:#14213d}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin-top:20px}.board{display:grid;grid-template-columns:repeat(7,minmax(240px,1fr));gap:16px;overflow-x:auto;padding-bottom:8px}.column{min-height:520px;padding:14px;border-radius:28px;background:linear-gradient(180deg,#f8fafceb,#ffffffd1);border:1px solid var(--line);box-shadow:inset 0 1px #fff9}.board .column:nth-child(1){background:linear-gradient(180deg,#fff9ebf2,#ffffffd6)}.board .column:nth-child(2){background:linear-gradient(180deg,#eff6fff2,#ffffffd6)}.board .column:nth-child(3){background:linear-gradient(180deg,#eef2fff2,#ffffffd6)}.board .column:nth-child(4){background:linear-gradient(180deg,#ecfdf5f2,#ffffffd6)}.board .column:nth-child(5){background:linear-gradient(180deg,#f0fdf4f2,#ffffffd6)}.board .column:nth-child(6){background:linear-gradient(180deg,#fef2f2f2,#ffffffd6)}.board .column:nth-child(7){background:linear-gradient(180deg,#f3f4f6f2,#ffffffd6)}.column-header,.section-title,.detail-section-title,.card-topline,.card-footer,.modal-header,.drawer-header,.drawer-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.column-header h3,.section-title h3,.detail-card h3{margin:0;font-size:16px;color:var(--ink-strong)}.column-header span,.section-title span{padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700}.board .column:nth-child(1) .column-header span{background:#f59e0b24;color:#b45309}.board .column:nth-child(2) .column-header span{background:#3b82f624;color:#1d4ed8}.board .column:nth-child(3) .column-header span{background:#6366f124;color:#4f46e5}.board .column:nth-child(4) .column-header span,.board .column:nth-child(5) .column-header span{background:#10b98124;color:#047857}.board .column:nth-child(6) .column-header span{background:#ef444424;color:#b91c1c}.board .column:nth-child(7) .column-header span{background:#6b728029;color:#4b5563}.column-body{display:grid;gap:10px;margin-top:12px}.card{padding:12px;border-radius:18px;background:var(--panel-strong);border:1px solid rgba(20,33,61,.12);box-shadow:0 8px 18px #14213d0f}.risk-high{border-color:#dc26266b;background:linear-gradient(180deg,#fffafafa,#fffffffa)}.risk-medium{border-color:#f59e0b73;background:linear-gradient(180deg,#fffbebfa,#fffffffa)}.risk-low{border-color:#0891b266;background:linear-gradient(180deg,#ecfefffa,#fffffffa)}.pill,.tag,.alert-chip,.material-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.pill{padding:4px 8px;font-size:11px;font-weight:600}.pill.subtle,.tag{background:#14213d14;color:var(--ink-base)}.priority-high{background:#dc26261f;color:#b91c1c}.priority-medium{background:#f59e0b24;color:#b45309}.priority-low{background:#0891b224;color:#0f766e}.card-title{display:grid;gap:2px;margin:10px 0 8px;padding:0;border:none;background:transparent;text-align:left;color:inherit}.card-title strong{font-size:16px;color:var(--ink-strong)}.card-title span{font-size:13px;color:#4f6278}.card-title span,.card-meta,.drawer-subtitle,.empty-side,.empty-column{color:var(--ink-soft)}.card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:#738397}.tag-row,.inline-alerts,.material-grid{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:4px 8px;font-size:11px;background:#14213d0d;color:#6f8094}.card-footer{margin-top:10px}.card-topline{gap:8px}.stage-select{padding:9px 12px;border-radius:14px;font-size:12px}.card .ghost-button{padding:9px 12px;font-size:12px;background:#14213d0a;color:#5d7085}.sidebar{display:grid;gap:16px}.side-section{padding:18px;border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f7fafcf0);border:1px solid var(--line);box-shadow:0 12px 28px #14213d0f}.side-section:first-child{background:linear-gradient(180deg,#fff7edfa,#fffffff5)}.side-section:last-child{background:linear-gradient(180deg,#ecfdf5fa,#fffffff5)}.alert-list,.schedule-list,.timeline{display:grid;gap:10px;margin-top:14px}.alert-card,.schedule-card{display:grid;gap:6px;width:100%;padding:14px;border:1px solid rgba(20,33,61,.12);border-radius:18px;background:#fffffff5;text-align:left}.alert-card.level-high,.alert-chip.level-high{background:#fef2f2f5;color:#b91c1c}.alert-card.level-medium,.alert-chip.level-medium{background:#fff7edf5;color:#b45309}.alert-card.level-low,.alert-chip.level-low{background:#ecfefff5;color:#0f766e}.schedule-card small{color:#6b7280}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;display:flex;justify-content:flex-end;background:#0912265c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-backdrop{justify-content:center;align-items:center;padding:24px}.modal,.drawer{background:#fdfcf8;box-shadow:0 24px 60px #0f172a3d}.modal{width:min(820px,100%);max-height:92vh;padding:26px;border-radius:28px;overflow:auto}.drawer{width:min(680px,100%);height:100vh;padding:22px;overflow:auto}.form-grid,.detail-grid{display:grid;gap:14px;margin-top:22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.form-grid label,.form-grid fieldset{display:grid;gap:8px;margin:0;color:#425466}.full-span,.wide-card{grid-column:1 / -1}.materials-fieldset{border:1px solid rgba(20,33,61,.1);border-radius:18px;padding:14px}.material-options{display:flex;flex-wrap:wrap;gap:12px}.checkbox{display:inline-flex;align-items:center;gap:8px}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.drawer-header{padding-bottom:14px;border-bottom:1px solid rgba(20,33,61,.08)}.drawer-subtitle{margin:8px 0 0;font-size:14px}.drawer-actions{margin-top:14px}.drawer .icon-button{background:#14213d24;color:#14213d;font-weight:700}.drawer .ghost-button{background:#1d4ed824;color:#1d4ed8;font-weight:700}.drawer .stage-select{background:#fffffffa;border:1px solid rgba(20,33,61,.14)}.detail-card{padding:14px 16px;border-radius:20px;background:#ffffffe0;border:1px solid var(--line)}.detail-card h3{font-size:15px}.detail-list{display:grid;gap:10px;margin:12px 0 0}.detail-list div{display:flex;justify-content:space-between;gap:16px}.detail-list dt{color:#5a6a7a;font-size:13px}.detail-list dd{margin:0;text-align:right;font-size:13px;color:#1f2f46}.material-chip{padding:8px 12px;border:none;font-size:12px}.material-chip.done{background:#dcfce7e6;color:#166534}.material-chip.pending{background:#fff7edf2;color:#9a3412}.timeline-form{display:grid;grid-template-columns:160px minmax(0,1fr) 130px;gap:10px;margin-top:10px}.timeline-item{padding:10px 12px;border-left:3px solid rgba(15,118,110,.45);background:#fffffff0;border-radius:0 14px 14px 0}.timeline-item p,.note-block{margin:6px 0 0;color:#425466;font-size:13px;line-height:1.5}.timeline-item strong{font-size:12px;color:#355070}.inline-alerts{margin-top:8px}.alert-chip{padding:6px 10px;font-size:12px}.material-grid{margin-top:10px}@media(max-width:1280px){.content-grid{grid-template-columns:1fr}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-shell{padding:16px}.hero,.summary-grid,.toolbar,.sidebar,.form-grid,.detail-grid,.timeline-form{grid-template-columns:1fr}.hero,.hero-actions,.drawer-actions{align-items:stretch}.hero-actions{flex-direction:column}.hero,.column-header,.section-title,.modal-header,.drawer-header,.drawer-actions,.detail-list div,.card-footer{flex-direction:column;align-items:stretch}.drawer{width:100%}}
