:root{--g:#153c31;--g2:#245b4a;--cream:#f7f4ec;--gold:#c9934b;--ink:#263a34;--muted:#73807a;--line:#dce4df;--soft:#eef3ef;--surface:#fff;--danger:#a64b4b;--warn:#9b6b22;--shadow:0 14px 45px rgba(20,55,45,.09)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f4f7f5;color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}a{color:inherit}.brand{font-family:Georgia,serif;color:var(--g);font-weight:800;font-size:25px;display:flex;align-items:center;gap:9px}.brand i{font-style:normal;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--g);color:#fff}.btn{border:0;border-radius:11px;padding:11px 15px;background:var(--g);color:#fff;font-weight:800;cursor:pointer}.btn:hover{filter:brightness(1.07)}.btn.alt{background:#fff;color:var(--g);border:1px solid var(--line)}.btn.gold{background:var(--gold)}.btn.danger{background:var(--danger)}.btn.small{padding:7px 10px;font-size:11px}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:900;color:var(--gold)}.muted{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-visual{background:linear-gradient(150deg,#102f27,#1c5141);color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:center}.login-visual h1{font-family:Georgia,serif;font-size:56px;font-weight:500;margin:14px 0}.login-visual p{max-width:600px;color:#d4e2dc;line-height:1.65}.login-box{display:grid;place-items:center;padding:30px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.login-card h2{font-family:Georgia,serif;color:var(--g);font-size:34px;margin:8px 0 5px}.field{display:block;font-size:11px;color:#5e6d67;font-weight:800;margin:13px 0}.field input,.field select,.field textarea{display:block;width:100%;margin-top:6px;border:1px solid #ced8d2;border-radius:10px;padding:11px;background:#fff}.field textarea{min-height:84px;resize:vertical}.error{background:#fae9e9;border:1px solid #efc6c6;color:#8a4040;border-radius:10px;padding:10px;font-size:12px;margin:10px 0}.hint{background:var(--soft);border-radius:10px;padding:10px;font-size:11px;color:var(--muted)}
.app-layout{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:#102f27;color:#dbe8e3;padding:19px 13px;position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff;margin:3px 8px 26px}.sidebar .brand i{background:#fff;color:var(--g)}.navtitle{font-size:9px;letter-spacing:.14em;font-weight:900;color:#75988b;margin:17px 10px 7px}.navbtn{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:#c9ddd5;text-align:left;padding:11px 12px;border-radius:10px;margin:2px 0;font-weight:750;cursor:pointer}.navbtn.active,.navbtn:hover{background:#1d4b3e;color:#fff}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.topbar .who{font-size:12px;color:var(--muted)}.content{max-width:1500px;margin:auto;padding:24px}.hero h1{font-family:Georgia,serif;color:var(--g);font-size:38px;font-weight:500;margin:4px 0 7px}.hero p{margin:0;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.kpi{padding:16px}.kpi b{display:block;font-size:28px;color:var(--g)}.kpi span{font-size:11px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.panel{padding:18px}.panel h3{margin:0 0 13px;color:var(--g)}.panel p{font-size:12px;line-height:1.55}.progress{height:11px;border-radius:999px;background:var(--soft);overflow:hidden}.progress i{display:block;height:100%;background:var(--gold);width:0}.row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0}.row b{display:block;color:var(--g)}.row small{display:block;color:var(--muted);margin-top:3px}.pill{display:inline-block;height:max-content;padding:5px 8px;border-radius:999px;background:#e8f4ec;color:#2c664f;font-size:9px;font-weight:900}.pill.wait{background:#fff0d8;color:#91661f}.pill.red{background:#fae7e7;color:#974545}.pill.gray{background:#eef2ef;color:#67736d}.timeline{border-left:2px solid var(--line);padding-left:17px;margin-left:7px}.event{position:relative;margin:0 0 18px}.event:before{content:'';position:absolute;left:-23px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--gold)}.event b{font-size:12px;color:var(--g)}.event p{margin:4px 0;color:var(--muted);font-size:11px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:10px;letter-spacing:.07em;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:11px 8px;border-bottom:1px solid #edf1ee;font-size:12px;vertical-align:middle}.table tr:hover td{background:#fbfcfb}
.tree-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.tree-scroll{overflow:auto;min-height:520px;background:linear-gradient(#fbfcfb,#f1f5f2);border-radius:15px;border:1px solid var(--line);padding:30px}.tree{min-width:1050px;transform-origin:top left}.generation{display:flex;justify-content:center;gap:22px;margin:22px 0}.person-card{width:150px;min-height:82px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px;text-align:center;box-shadow:0 7px 20px rgba(20,55,45,.05);cursor:pointer}.person-card.unknown{opacity:.55;border-style:dashed}.person-card b{display:block;color:var(--g);font-size:12px}.person-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.origin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.origin{padding:14px;background:var(--soft);border-radius:12px}.origin b{color:var(--g)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.product{padding:16px}.product strong{font-size:25px;color:var(--g)}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.full{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.kanban-col{background:var(--soft);border-radius:13px;padding:9px;min-height:260px}.kanban-col h4{color:var(--g);font-size:11px;margin:5px}.task{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;margin:7px 0}.task b{font-size:12px;color:var(--g)}.task small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.case-link{cursor:pointer;color:var(--g);font-weight:800}.toast{position:fixed;bottom:18px;right:18px;background:var(--g);color:#fff;padding:11px 15px;border-radius:999px;opacity:0;transform:translateY(10px);transition:.2s;z-index:99}.toast.show{opacity:1;transform:none}.mobilebar{display:none}.spinner{width:22px;height:22px;border:3px solid #d9e2dd;border-top-color:var(--g);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}.grid2,.split,.kanban{grid-template-columns:1fr}.product-grid,.origin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.app-layout{grid-template-columns:1fr}.sidebar{display:none}.topbar{height:58px;padding:0 14px}.content{padding:16px 14px 80px}.hero h1{font-size:31px}.kpis{grid-template-columns:1fr 1fr}.product-grid,.origin-grid,.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.mobilebar{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:30}.mobilebar button{border:0;background:#fff;padding:9px 3px 8px;font-size:9px;color:var(--muted);font-weight:800}.mobilebar button span{display:block;font-size:18px;margin-bottom:2px}.mobilebar button.active{color:var(--g)}.tree-scroll{min-height:450px;padding:14px}.tree{min-width:880px}.person-card{width:125px}.actions .btn{flex:1}.table.mobile-cards thead{display:none}.table.mobile-cards,.table.mobile-cards tbody,.table.mobile-cards tr,.table.mobile-cards td{display:block;width:100%}.table.mobile-cards tr{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:8px;background:#fff}.table.mobile-cards td{border:0;padding:5px 7px}.table.mobile-cards td:before{content:attr(data-label);font-size:9px;color:var(--muted);font-weight:900;display:block}}
