:root{--ink:#19322e;--muted:#657773;--line:#dbe4de;--paper:#f3f5ef;--card:#fff;--green:#2f644c;--lime:#dceba7;--red:#a63f35;--amber:#916418;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 15px;color:var(--ink);background:white;transition:background .15s}button:hover{background:#edf3e9}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#214e39}button.danger{color:var(--red);border-color:#eac6c1}button.small{padding:6px 10px;font-size:12px}a{color:var(--green)}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccd8ce;border-radius:8px;background:#fff;color:var(--ink);margin:5px 0 0}textarea{min-height:90px;resize:vertical}label{display:block;font-size:12px;font-weight:650;color:var(--muted);margin-bottom:14px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;font-weight:600;letter-spacing:-1px;margin-bottom:8px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:16px;margin-bottom:12px}p{line-height:1.65}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:225px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#153c32;color:white;padding:33px 21px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:23px;letter-spacing:2px;font-weight:700;margin-bottom:46px}.brand svg{width:36px;height:36px}.brand small{font-size:9px;display:block;letter-spacing:2.5px;color:#c6dac2;margin-top:5px}.nav{display:grid;gap:5px}.nav button{text-align:left;background:transparent;color:#c5d8cd;border:0;padding:12px 13px;font-size:13px}.nav button:hover,.nav button.active{background:#2c5545;color:#fff}.nav button b{display:inline-block;width:24px;font-weight:400}.sidebar-footer{margin-top:auto;font-size:12px;color:#aec9b7;line-height:1.6}.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-weight:650}.user{display:flex;gap:10px;align-items:center;padding-top:20px;border-top:1px solid #416353;margin-top:20px}.main{padding:28px 36px 50px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;color:var(--muted);font-size:12px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#739d55;margin-right:7px}.top-actions,.toolbar,.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.pagehead{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:27px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:var(--green);margin-bottom:12px}.subhead{font-size:13px;color:var(--muted)}.grid{display:grid;gap:20px}.stats{grid-template-columns:repeat(4,1fr);margin:25px 0}.stat{padding:23px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.stat .value{font-size:34px;letter-spacing:-1px;margin:12px 0 8px}.stat .label{font-size:12px;color:var(--muted)}.stat.accent{background:var(--lime);border-color:var(--lime)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}.card-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.card-header h3{margin:0}.twocol{grid-template-columns:1.5fr 1fr}.threecol{grid-template-columns:1fr 1.9fr 1fr}.badge{display:inline-block;font-size:10px;font-weight:600;border-radius:6px;padding:5px 7px;background:#edf2e8;color:var(--green);white-space:nowrap}.badge.warn{background:#fcf0d7;color:var(--amber)}.badge.red{background:#fae7e4;color:var(--red)}.badge.gray{background:#edf0ef;color:#68746f}.notice{padding:14px 17px;background:#edf1e4;border-radius:10px;font-size:12px;line-height:1.6;margin:16px 0}.notice.warn{background:#fff3db;color:#785419}.notice.error{background:#f9e7e2;color:#8e322b}.empty{padding:28px 10px;color:var(--muted);font-size:13px;text-align:center;line-height:1.7}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{padding:11px 12px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 12px;border-bottom:1px solid #edf0e8;vertical-align:top}tr:last-child td{border-bottom:0}.clickable{cursor:pointer}.clickable:hover{background:#f4f7ee}.list-item{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #e9eee6;align-items:flex-start}.list-item:last-child{border:0}.list-item .body{flex:1;min-width:0}.list-item h4{font-size:13px;margin:0 0 5px}.list-item p{font-size:12px;margin:0;color:var(--muted)}.number{height:25px;width:25px;background:#eaf0dd;display:grid;place-items:center;flex:none;border-radius:7px;font-size:11px}.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:20px}.kanban-column{min-width:210px;flex:1;background:#e9eee3;border-radius:12px;padding:14px}.kanban-column h3{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.deal-card{border:1px solid var(--line);background:white;border-radius:10px;padding:15px;margin-top:12px;cursor:pointer}.deal-card:hover{border-color:var(--green)}.deal-card h4{margin:10px 0;font-size:13px}.deal-card p{margin:0;font-size:11px;color:var(--muted)}.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:10px}.tabs button{border:0;background:transparent;white-space:nowrap;font-size:12px}.tabs button.active{background:var(--ink);color:white}.console{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(330px,1.8fr) minmax(210px,1fr);gap:16px;align-items:start}.console .card{padding:18px}.node-label{font-family:monospace;font-size:10px;color:var(--green);margin-bottom:16px}.script-say{font-size:21px;line-height:1.55;letter-spacing:-.35px;background:#f2f5e9;border-radius:12px;padding:22px;margin:18px 0}.script-say.missing{border:1px dashed #d0ad67}.script-extra{font-size:14px;line-height:1.7;padding:12px 0}.branches{display:grid;gap:8px}.branch{display:flex;gap:13px;text-align:left;align-items:center;font-size:13px;line-height:1.4}.branch kbd{border:1px solid var(--line);background:#f5f7f0;padding:4px 7px;border-radius:5px;font-size:11px}.global-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.global-actions button{font-size:11px;padding:8px}.spin{display:flex;gap:3px;margin:16px 0}.spin span{height:6px;flex:1;border-radius:3px;background:#e5e9df}.spin span.on{background:#6b8b50}.pair{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0f1ed;font-size:12px}.pair>span:first-child{color:var(--muted)}.known{font-size:11px;background:#eff5e7;padding:8px;border-radius:5px;margin-bottom:8px;color:#4f7340}.draft-status{font-size:11px;margin:12px 0;color:var(--muted)}.console-footer{margin-top:16px;background:#e8ede1;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:11px;display:flex;gap:20px;flex-wrap:wrap}.mobile-tabs{display:none}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:#183d31;padding:10vw 7vw;color:white;display:flex;flex-direction:column;justify-content:center}.login-art .brand{margin-bottom:80px}.login-art h1{font-size:55px;line-height:1.1;max-width:450px;color:#e7efcf}.login-art p{color:#b5cbb9;max-width:370px;font-size:14px}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form form{max-width:340px;width:100%}.login-form button{width:100%;margin-top:10px}.login-form h2{font-size:28px}.login-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:25px}.login-error{color:var(--red);font-size:12px;line-height:1.6}.full{width:100%}dialog{border:1px solid var(--line);border-radius:18px;box-shadow:0 25px 90px #14352944;padding:0;width:620px;max-width:95vw;color:var(--ink)}dialog::backdrop{background:#183b3266;backdrop-filter:blur(3px)}dialog header{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;border-bottom:1px solid var(--line)}dialog header h2{margin:0;font-size:20px}dialog header button{border:0;font-size:24px;padding:0 8px}#modal-body{padding:23px;max-height:75vh;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.code{font-family:ui-monospace,monospace;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f5ef;padding:15px;border-radius:10px}.graph{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.graph button{text-align:left;font-size:11px;min-height:65px}.graph b{display:block;font-size:10px;color:var(--green);margin-bottom:8px}.chatlog{display:grid;gap:12px;max-height:450px;overflow:auto;padding:10px}.bubble{max-width:85%;background:#eff3e8;padding:12px 15px;border-radius:13px;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.out{justify-self:end;background:#dce9c6}.bubble small{display:block;font-size:9px;margin-top:5px}.presentation{max-width:900px;margin:auto;padding:40px}.presentation h1{font-size:44px}.presentation-price{font-size:48px;margin:30px 0}.presentation .card{padding:50px}.loading{padding:80px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(700px,90vw);background:#173b30;color:white;padding:14px 22px;border-radius:10px;box-shadow:0 5px 30px #173b3033;z-index:100;display:none;font-size:13px;line-height:1.6;white-space:pre-wrap}#toast.error{background:#843b31}.search{max-width:300px}.metric-bar{height:9px;background:#e7eddd;border-radius:4px;overflow:hidden}.metric-bar i{display:block;height:100%;background:#7a9b54}.pillnav{display:flex;flex-wrap:wrap;gap:6px}.checkline{display:flex;gap:10px;align-items:center}.checkline input{width:auto;margin:0}.error-inline{background:#fae4e1;color:#9e3e35;padding:12px;border-radius:8px;font-size:12px;line-height:1.5;margin-bottom:15px}.hidden{display:none!important}details summary{cursor:pointer;font-size:12px;color:var(--muted);padding:8px 0}kbd{font-family:inherit}.width80{max-width:80px}
@media(min-width:1500px){.main{padding:33px 50px}.console{grid-template-columns:240px minmax(430px,1fr) 280px}}
@media(max-width:1100px){.shell{grid-template-columns:180px 1fr}.sidebar{padding:25px 13px}.main{padding:23px}.console{grid-template-columns:180px 1fr}.console .record{grid-column:1/-1}.console .record .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.stats{gap:10px}.stat{padding:15px}.twocol{grid-template-columns:1fr}.stat .value{font-size:27px}}
@media(max-width:700px){.shell{display:block}.sidebar{position:static;height:auto;padding:17px}.brand{margin:0;font-size:18px}.brand svg{width:28px;height:28px}.brand small{font-size:8px}.sidebar .nav{display:flex;overflow:auto;margin-top:15px;gap:3px}.nav button{font-size:11px;padding:10px;white-space:nowrap}.sidebar-footer{display:none}.main{padding:20px 16px}.topbar{margin-bottom:22px}.topbar>span{max-width:200px;font-size:10px}.topbar button{font-size:10px}h1{font-size:28px}.pagehead{display:block}.pagehead .toolbar{margin-top:15px}.stats{grid-template-columns:1fr 1fr}.stat .value{font-size:30px}.stat{padding:18px}.threecol{grid-template-columns:1fr}.console{display:block}.console .card{margin-bottom:14px}.mobile-tabs{display:flex;gap:5px;margin-bottom:13px}.console .dossier,.console .record{display:none}.console[data-mobile="dossier"] .dossier,.console[data-mobile="record"] .record{display:block}.console[data-mobile="dossier"] .script,.console[data-mobile="record"] .script{display:none}.console .record .field-grid{display:block}.script-say{font-size:20px;padding:18px}.login{display:block}.login-art{padding:35px}.login-art .brand{margin-bottom:28px}.login-art h1{font-size:33px}.login-art p{font-size:12px;margin:8px 0}.login-form{padding:35px 25px}.form-grid{grid-template-columns:1fr}.presentation{padding:12px}.presentation .card{padding:25px}.presentation h1{font-size:30px}.graph{grid-template-columns:1fr 1fr}.table-wrap{margin:0 -8px}.card{padding:17px}.top-actions{gap:5px}.hide-mobile{display:none}}
@media print{.sidebar,.topbar,.tabs,.toolbar,button,.notice{display:none!important}.shell{display:block}.main{padding:0}.presentation{padding:0;max-width:none}.presentation .card{border:0}.card{break-inside:avoid}}
