:root{--bg: #F8F9F3;--ink: #121212;--muted: #55575F;--soft: #6A6C75;--line: #E4E5DC;--line2: #DCDDD4;--card: #FFFFFF;--chip: #EFEFE7;--violet: #4A54D9;--violet-soft: #EEF0FF;--lime: #C6F06B;--lime-soft: #EEF8C9;--lilac: #E7DEFF;--warn: #B4321A;--warn-soft: #FFE1D6;--amber: #B45309;--ok: #2E7D32;--r: 22px;--pad: clamp(16px, 3vw, 40px)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:Poppins,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.m-out{display:none!important}.shell{display:flex;min-height:100vh}.side{position:sticky;top:0;height:100vh;width:248px;flex:none;background:var(--ink);color:#fff;padding:26px 16px;display:flex;flex-direction:column;gap:22px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand img{height:22px;width:auto}.brand .tag{padding:2px 8px;border-radius:999px;background:var(--lime);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.6px}.nav{display:flex;flex-direction:column;gap:4px}.nav a{min-height:44px;padding:0 12px;border-radius:14px;display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;white-space:nowrap;color:#d7d8de;font-weight:500}.nav a:hover{background:#ffffff0f}.nav a.on{background:var(--lime);color:var(--ink);font-weight:700}.nav svg{flex:none}.me{margin-top:auto;padding:12px;border-radius:18px;background:#ffffff0f;display:flex;align-items:center;gap:10px}.me .who{min-width:0;flex:1}.me .who b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me .who span{font-size:12px;color:var(--lime)}.me button{background:transparent;border:0;color:#d7d8de;cursor:pointer;padding:6px;border-radius:10px}.me button:hover{background:#ffffff1a}main.page{flex:1;min-width:0;padding:28px var(--pad) 48px;display:flex;flex-direction:column;gap:16px}@media (max-width: 1100px){.side{width:84px;padding:22px 10px;align-items:center}.side .lbl,.side .tag,.me .who{display:none}.nav a{justify-content:center;padding:0;width:52px}.me{flex-direction:column;padding:8px}}@media (max-width: 760px){.shell{flex-direction:column}.side{position:sticky;top:0;z-index:20;height:auto;width:100%;padding:10px 16px;gap:8px;flex-direction:column;align-items:stretch}.side .tag{display:inline}.side .top{display:flex;align-items:center;justify-content:space-between}.nav{flex-direction:row;overflow-x:auto;gap:6px;margin:0 -16px;padding:0 16px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{width:auto;flex:none;padding:0 14px;gap:8px;font-size:13px;min-height:40px}.side .lbl{display:inline}.me{display:none}.m-out{display:inline-flex!important}}.head{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between}h1.t{margin:0;text-transform:uppercase;line-height:1.05}h1.t span{display:block;font-weight:300;font-size:20px}h1.t b{display:block;font-weight:800;font-size:clamp(26px,4vw,34px);letter-spacing:-1px}h1.t b i{font-style:normal;color:var(--violet)}h2.s{margin:0;font-size:16px;font-weight:800}.card{background:var(--card);border-radius:var(--r);padding:20px;border:1px solid var(--line)}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.kpi{border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:4px;min-height:120px}.kpi small{font-size:13px;font-weight:600;opacity:.85}.kpi strong{font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-1px}.kpi span{font-size:12px;opacity:.8}.btn{min-height:44px;padding:0 20px;border-radius:999px;border:0;background:var(--ink);color:#fff;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:#2a2a2a}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line2)}.btn.ghost:hover{border-color:var(--ink)}.btn.lime{background:var(--lime);color:var(--ink)}.btn.violet{background:var(--violet)}.btn.danger{background:#fff;color:var(--warn);border:1px solid #F3C7BA}.btn.sm{min-height:36px;padding:0 14px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.linkbtn{background:none;border:0;padding:0;color:var(--violet);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.seg{display:inline-flex;padding:4px;border-radius:999px;background:#fff;border:1px solid var(--line2)}.seg button{min-height:36px;padding:0 14px;border-radius:999px;border:0;background:transparent;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap}.seg button.on{background:var(--ink);color:#fff}.pill{padding:6px 12px;border-radius:999px;background:var(--chip);font-size:12px;font-weight:700;white-space:nowrap}.search{flex:1 1 220px;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line2)}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-weight:500}.filter{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--line2);font-size:13px;font-weight:600}.filter select{border:0;outline:0;background:transparent;font-weight:600;font-size:13px;max-width:160px}.tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line)}.tabs button{min-height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:transparent;font-weight:600;color:var(--muted);cursor:pointer}.tabs button.on{border-bottom-color:var(--violet);color:var(--violet)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:#fff;font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip small{opacity:.7}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}.av{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:none;background:var(--lilac);color:var(--ink)}.muted{color:var(--muted)}.small{font-size:12px}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:18px;background:#fff}.err{padding:12px 14px;border-radius:14px;background:var(--warn-soft);color:var(--warn);font-weight:600}.okmsg{padding:12px 14px;border-radius:14px;background:var(--lime-soft);font-weight:600}.table-wrap{background:#fff;border-radius:var(--r);padding:8px;overflow-x:auto;border:1px solid var(--line)}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;color:var(--soft);font-size:12px;font-weight:600;padding:12px 10px;white-space:nowrap}table.t td{padding:12px 10px;border-top:1px solid #F1F1EA;vertical-align:middle}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:#fafaf6}.form{display:grid;gap:14px}.form .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:600}.field input,.field select,.field textarea{min-height:46px;padding:10px 14px;border-radius:14px;border:1px solid var(--line2);background:#fff;outline:0;width:100%}.field textarea{min-height:120px;resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--violet)}.check{display:flex;align-items:center;gap:10px;font-weight:500}.check input{width:18px;height:18px;accent-color:var(--violet)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#12121273;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}.modal{width:min(640px,100%);background:var(--bg);border-radius:26px;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 80px #00000040}.modal .mh{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal .mh h2{margin:0;font-size:20px;font-weight:800}.modal .mf{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:#fff;cursor:pointer;font-size:18px}.board-wrap{overflow-x:auto;margin:0 calc(-1 * var(--pad));padding:0 var(--pad) 10px}.board{display:flex;min-width:max-content;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}.col{width:280px;flex:none;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#f6f7f1}.col:nth-child(2n){background:#fafaf6}.col:last-child{border-right:0}.col.over{background:var(--violet-soft)}.col-h{padding:14px 14px 10px;border-bottom:1px solid var(--line);background:#fff}.col-h h3{margin:0;font-size:12px;font-weight:800;text-transform:uppercase;flex:1;letter-spacing:.2px}.col-b{padding:12px;display:flex;flex-direction:column;gap:10px;min-height:60vh}.deal{border-radius:16px;background:#fff;border:1px solid var(--line);overflow:hidden;cursor:grab}.deal:hover{border-color:var(--line2);box-shadow:0 6px 18px #0000000f}.deal .in{padding:12px 14px 10px;display:flex;flex-direction:column;gap:5px;text-decoration:none}.deal .ft{display:flex;align-items:center;gap:8px;padding:9px 14px;border-top:1px solid #F1F1EA;font-size:12px}.add-deal{min-height:40px;border-radius:12px;border:1px dashed #C9CBD3;background:transparent;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}.steps{display:flex;flex-wrap:wrap;gap:6px}.steps button{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:#fff;font-size:12px;font-weight:600;cursor:pointer}.steps button.done{background:var(--lime-soft);border-color:var(--lime-soft)}.steps button.on{background:var(--violet);color:#fff;border-color:var(--violet)}.sim{display:grid;gap:16px;grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start}@media (max-width: 980px){.sim{grid-template-columns:1fr}}.slider{display:flex;flex-direction:column;gap:6px}.slider .l{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:600}.slider .l b{font-weight:800;white-space:nowrap}.slider input[type=range]{width:100%;accent-color:var(--violet);min-height:28px}.chart text{font-family:Poppins,sans-serif;font-size:11px;fill:var(--soft)}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth .art{background:var(--ink);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.auth .art h2{font-size:clamp(32px,4vw,52px);line-height:1.02;letter-spacing:-2px;margin:0;font-weight:800;text-transform:uppercase}.auth .art h2 i{font-style:normal;color:var(--lime)}.auth .box{display:flex;align-items:center;justify-content:center;padding:32px 16px}.auth form{width:min(400px,100%)}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth .art{padding:28px 20px;gap:24px}}.spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--line2);border-top-color:var(--violet);animation:sp .8s linear infinite;margin:40px auto}@keyframes sp{to{transform:rotate(360deg)}}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.prop{border-radius:var(--r);background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;text-align:left;padding:0}.prop .ph{aspect-ratio:16/10;background:var(--chip) center/cover no-repeat;position:relative}.prop .ph .tag{position:absolute;top:10px;left:10px}.prop .bd{padding:14px 16px;display:flex;flex-direction:column;gap:4px}@media print{.side,.head .bar,.seg,.btn{display:none!important}main.page{padding:0}body{background:#fff}.card,.table-wrap{break-inside:avoid}}
