:root { --ink:#24312b; --muted:#65736c; --line:#dfe5e1; --green:#195640; --paper:#f3f6f4; --blue:#315f82; --amber:#8c5b1b; }
* { box-sizing:border-box; letter-spacing:0; }
body { margin:0; color:var(--ink); background:var(--paper); font:14px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,select,textarea { font:inherit; }button,summary { cursor:pointer; }a { color:var(--green); text-underline-offset:3px; }
:focus-visible { outline:3px solid #518aae; outline-offset:3px; }[hidden] { display:none!important; }
h1,h2,h3 { line-height:1.3; text-wrap:balance; }h1 { font-size:28px; margin:7px 0 12px; }h2 { font-size:19px; margin:30px 0 16px; }h3 { font-size:16px; margin:18px 0 10px; }p { margin:0 0 18px; }li+li { margin-top:9px; }ul,ol { padding-left:23px; }svg { width:18px; height:18px; flex-shrink:0; }img { max-width:100%;height:auto; }
.app-header { min-height:72px; display:flex; align-items:center; gap:24px; padding:15px 28px; border-bottom:1px solid var(--line); background:#fff; position:sticky;top:0;z-index:30; }
.brand { width:126px; display:flex; flex-shrink:0; }.app-name { font-size:14px; font-weight:700; border-left:1px solid var(--line); padding-left:24px; }.prototype-label { margin-left:auto; color:var(--amber); font-size:10px;font-weight:700; }
.icon-button { width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center; flex-shrink:0; border:1px solid var(--line);border-radius:5px; background:#fff; color:var(--ink); }.icon-button:hover { background:#edf4ef; }
.app-shell { display:grid; grid-template-columns:230px minmax(0,1fr); max-width:1640px; margin:auto; }.app-sidebar { padding:28px 18px; border-right:1px solid var(--line); position:sticky;top:72px;height:calc(100dvh - 72px);overflow:auto; }.nav-caption { font-size:10px;color:var(--muted);font-weight:800;margin:0 10px 18px; }.app-sidebar nav { display:grid;gap:5px; }.app-sidebar nav a { display:flex;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;color:#526057;border-left:2px solid transparent;font-size:12px; }.app-sidebar nav a[aria-current="page"] { color:var(--green);background:#e4eee7;border-color:var(--green);font-weight:700; }.sidebar-source { margin-top:35px;padding:18px 12px;font-size:11px;color:var(--muted);border-top:1px solid var(--line); }.sidebar-source strong,.sidebar-source span,.sidebar-source a { display:block; }.sidebar-source strong { color:var(--ink); }.sidebar-source a { margin-top:20px; }.sidebar-source hr { border:0;border-top:1px solid var(--line);margin:18px 0; }
main { min-width:0;background:#fff;min-height:calc(100dvh - 130px); }.view { padding:34px 36px 48px; scroll-margin-top:90px; }.page-heading { display:flex;justify-content:space-between;gap:24px;margin-bottom:20px; }.page-heading p { color:var(--muted);max-width:900px; }.eyebrow { font-size:10px;color:var(--green)!important;font-weight:800;margin:0; }.page-actions { display:flex;gap:8px; }.notice { padding:13px 16px;border-left:3px solid #93ae9d;background:#f0f5f2;font-size:12px;color:#45594c; }.muted { color:var(--muted); }.small { font-size:11px; }
.work-context { display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line); }.work-context strong,.work-context small,.field-caption { display:block; }.field-caption,.work-context label { font-size:11px;color:var(--muted); }.work-context small { font-size:11px;color:var(--muted);margin-top:4px; }.work-context strong { font-size:13px; }.work-context select { width:100%;margin-top:6px; }
.scope-filters { display:flex;flex-wrap:wrap;gap:18px;margin:20px 0; }.scope-filters label { flex:1 1 220px; font-size:12px; }.scope-filters select,.scope-filters input { display:block;width:100%;margin-top:6px; }#scope-table { min-width:850px; }#scope-table small { display:block;font-size:10px;color:var(--muted);font-weight:400; }
select,input,textarea { border:1px solid #cbd7cf;border-radius:4px;background:#fff;padding:9px 10px;color:var(--ink);min-width:0;max-width:100%; }textarea { resize:vertical;min-height:90px; }input[type="number"] { width:100%; }label { display:block; }.metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);margin-bottom:24px; }.metrics>div { padding:20px 16px;border-right:1px solid var(--line); }.metrics>div:first-child { padding-left:0; }.metrics>div:last-child { border:0; }.metrics span { display:block;font-size:11px;color:var(--muted);margin-bottom:8px; }.metrics strong { font-size:15px;line-height:1.5;display:block; }
.section-heading { display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 13px; }.section-heading h2 { margin:0;font-size:17px; }.section-heading>span { font-size:10px;color:var(--muted);text-align:right; }.table-wrap { overflow:auto;margin-bottom:16px; }table { width:100%;border-collapse:collapse;text-align:left;font-size:12px; }th { background:#eef3ef;color:var(--green);font-size:11px; }td,th { padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top; }td:first-child { font-weight:650; }.design-table { table-layout:fixed; }.design-table td { font-size:13px;overflow-wrap:anywhere;font-weight:400; }.design-table td:first-child { font-weight:650; }.stock-location small { display:block;font-size:10px;color:var(--muted);font-weight:400; }
.work-grid { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:32px;margin-top:28px; }.task-pane { min-width:0;border-top:2px solid var(--green); }.timeline-pane { min-width:0;border-top:2px solid var(--blue); }.task-pane>p { font-size:13px;color:#516258; }#case-facts { display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;margin:20px 0; }#case-facts div { padding:12px 0;border-bottom:1px solid var(--line); }#case-facts span,#case-facts strong { display:block; }#case-facts span { color:var(--muted);font-size:10px; }
#action-fields label { font-size:12px;font-weight:650;margin-bottom:14px; }#action-fields input,#action-fields textarea,#action-fields select { display:block;width:100%;margin-top:7px;font-weight:400; }.input-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.button { display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:12px;font-weight:650; }.button.primary { background:var(--green);border-color:var(--green);color:#fff; }button:disabled { opacity:.45;cursor:not-allowed; }.permission-note { font-size:11px;color:var(--muted);margin:10px 0; }#action-message { padding:10px 0;font-size:12px;color:var(--green); }#action-message[data-error="true"] { color:#a34032; }
.timeline { padding:0;list-style:none; }.timeline li { border-left:1px solid #cfdbd3;padding:0 0 18px 17px;position:relative;margin:0; }.timeline li::before { content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--blue); }.timeline strong,.timeline small,.timeline span { display:block; }.timeline strong { font-size:12px; }.timeline small { font-size:10px;color:var(--muted);margin:3px 0; }.timeline span { font-size:11px;color:#53655a; }
details { border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0; }summary { padding:16px 0;font-size:13px;color:var(--green);font-weight:700; }.detail-body { padding-bottom:15px;font-size:13px; }
.architecture { display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr;gap:14px;align-items:center;margin:28px 0; }.architecture>div { padding:17px 0;border-top:3px solid var(--green); }.architecture>div:nth-of-type(2) { border-color:var(--blue); }.architecture>div:nth-of-type(3) { border-color:#a57d3c; }.architecture strong { display:block;font-size:12px; }.architecture div span { display:block;font-size:12px;color:var(--muted);margin-top:8px; }.architecture-arrow { color:var(--muted);font-size:20px;text-align:center; }.three-columns { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:26px 0; }.three-columns article { border-top:2px solid #a6bcaf;padding-top:18px; }.three-columns p { font-size:13px;color:#516258; }.three-columns h2 { font-size:19px;margin:12px 0; }.three-columns strong { font-size:12px; }.process-line { display:flex;flex-wrap:wrap;gap:8px;margin:22px 0; }.process-line span { padding:6px 10px;background:#eef4f0;font-size:11px;color:var(--green);border-bottom:2px solid #c5d9cc; }
footer { padding:20px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;background:#fff; }dialog { max-width:440px;width:calc(100% - 36px);border:1px solid var(--line);border-radius:7px;padding:25px; }dialog::backdrop { background:#172c2455; }dialog h2 { margin-top:0; }dialog p { font-size:13px; }dialog form { display:flex;justify-content:flex-end;gap:10px; }
@media print { #scope-table { min-width:0;table-layout:fixed;font-size:8px; }#scope-table td,#scope-table th { overflow-wrap:anywhere;padding:6px; }.scope-filters { display:none; } }
@media(max-width:1150px) { .app-shell { grid-template-columns:205px minmax(0,1fr); }.view { padding:28px 25px; }.work-grid { grid-template-columns:1fr;gap:24px; }.work-context { grid-template-columns:1fr 1fr; }.work-context>div:last-child { grid-column:1/-1; }.three-columns { grid-template-columns:1fr;gap:12px; } }
@media(max-width:800px) { .app-header { padding:12px 18px;gap:16px; }.app-name { display:none; }.app-shell { display:block; }.app-sidebar { position:static;height:auto;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line); }.app-sidebar nav { display:flex;overflow-x:auto;gap:6px; }.app-sidebar nav a { flex-shrink:0;padding:8px 10px;font-size:11px; }.app-sidebar nav a svg { display:none; }.nav-caption,.sidebar-source { display:none; }.view { padding:26px 22px; }.architecture { grid-template-columns:1fr;gap:0; }.architecture-arrow { display:none; } }
@media(max-width:540px) { .app-header { gap:10px;padding:12px; }.brand { width:100px; }.prototype-label { font-size:8px;max-width:130px; }.view { padding:24px 16px; }h1 { font-size:25px; }.page-heading { gap:12px; }.page-actions { flex-direction:column; }.work-context { grid-template-columns:1fr;gap:16px; }.work-context>div:last-child { grid-column:auto; }.metrics { grid-template-columns:1fr 1fr; }.metrics>div { padding:15px 10px; }.metrics>div:nth-child(2) { border-right:0; }.metrics>div:nth-child(3) { padding-left:0;border-top:1px solid var(--line); }.metrics>div:nth-child(4) { border-top:1px solid var(--line); }.metrics strong { font-size:13px; }.design-table,.design-table tbody,.design-table tr,.design-table td { display:block;width:100%; }.design-table thead { display:none; }.design-table tr { padding:14px 0;border-bottom:1px solid var(--line); }.design-table td { border:0;padding:6px 0; }.design-table td:first-child { color:var(--green);font-size:14px; }.design-table td[data-label]::before { content:attr(data-label);display:block;font-size:10px;color:var(--muted);font-weight:650; }.section-heading { align-items:start; }.section-heading h2 { font-size:16px; }.input-grid { grid-template-columns:1fr; }#case-facts { grid-template-columns:1fr; }.small { line-height:1.8; } }
@media print { @page { size:A4;margin:15mm; }.app-header { position:static;padding:0 0 18px; }.app-name { display:block; }.app-sidebar,.icon-button,.page-actions,#actor-role,#action-form,#action-message,dialog { display:none!important; }.app-shell { display:block; }.view { display:block!important;padding:25px 0;border-bottom:1px solid var(--line); }.view[hidden] { display:block!important; }.notice { background:#fff; }.page-heading { display:block; }h1 { font-size:23px; }body,table,.design-table td { font-size:10px; }.work-grid,.three-columns { grid-template-columns:1fr; }.design-table { display:table; }.design-table thead { display:table-header-group; }.design-table tbody { display:table-row-group; }.design-table tr { display:table-row; }.design-table td,.design-table th { display:table-cell;padding:9px; }.design-table td::before { display:none!important; }.table-wrap { overflow:visible; }tr { break-inside:avoid; }h2,h3,summary { break-after:avoid; }footer { padding:20px 0; }a { color:inherit;text-decoration:none; } }
