:root{--navy:#15364a;--teal:#087f83;--ink:#203440;--muted:#71818a;--line:#e4eaec;--bg:#f5f8f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,system-ui,Segoe UI,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--navy);color:#d7e5e8;padding:21px 14px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:10px;padding:4px 9px 25px;color:#fff;font-size:17px;font-weight:750}.brand>b{width:35px;height:35px;border-radius:11px;background:#e7f4f2;color:var(--teal);display:grid;place-items:center;font-size:19px}.brand small,footer small{display:block;color:#a9c1c8;font-size:10px;font-weight:500;letter-spacing:1px;margin-top:2px}.sidebar label{font-size:10px;letter-spacing:1.5px;color:#83a2ad;padding:10px 12px 7px}.nav,.sidebar nav{display:grid;gap:3px}.sidebar nav button{border:0;background:transparent;color:#c8dade;text-align:left;padding:10px 12px;border-radius:8px;font-size:12px}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff18;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #70c9bf}.sidebar nav i{float:right;background:#e8a746;color:#263d47;border-radius:20px;padding:1px 7px;font-style:normal;font-size:9px}.sidebar footer{margin-top:auto;border-top:1px solid #ffffff22;padding:15px 6px 3px;display:flex;gap:9px;align-items:center;font-size:11px}.sidebar footer b{color:#fff}.avatar{border-radius:50%;background:#d8eeeb;color:#16505a;width:31px;height:31px;display:inline-grid;place-items:center;font-size:10px;font-weight:700}main{margin-left:236px}header{height:64px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:18px;padding:0 30px;color:#71818a;font-size:11px}header input{margin-left:auto;width:220px;border:1px solid var(--line);padding:9px 12px;border-radius:8px;font-size:11px}header button{border:0;background:white;color:#46616c;cursor:pointer}#menu{display:none}#app{padding:27px 30px 50px;max-width:1550px;margin:auto}.head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.eyebrow{color:var(--teal);font-weight:750;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.head h1{margin:3px 0;font-size:25px;letter-spacing:-.5px;color:#193847}.head p{margin:4px 0;color:var(--muted);font-size:12px}.buttons{display:flex;gap:8px}.btn{border:1px solid #dce5e6;background:white;color:#3d555f;border-radius:7px;padding:8px 12px;font-size:11px;font-weight:650;cursor:pointer}.btn.primary{background:var(--teal);border-color:var(--teal);color:white}.grid{display:grid;gap:14px}.metrics{grid-template-columns:repeat(4,1fr);margin-bottom:15px}.metric,.card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 25px #16394a0a;padding:16px}.metric small{display:block;color:var(--muted);font-size:10px}.metric strong{font-size:24px;display:block;color:#1c3b49;margin:6px 0}.metric span{font-size:10px;color:var(--muted)}.up{color:#32866e!important}.two{grid-template-columns:1.5fr 1fr;margin-bottom:15px}.three{grid-template-columns:1.25fr .75fr}.card h2{font-size:14px;margin:0 0 3px;color:#274451}.sub{font-size:10px;color:var(--muted);margin:0 0 13px}.frow{display:grid;grid-template-columns:115px 1fr 38px;gap:10px;align-items:center;font-size:10px;padding:5px 0}.track{height:8px;border-radius:20px;background:#edf2f2;overflow:hidden}.track i{height:100%;display:block;background:linear-gradient(90deg,#087f83,#69b9ad);border-radius:20px}.summary{border-top:1px solid var(--line);padding-top:11px;margin-top:10px;display:flex;gap:22px;color:var(--muted);font-size:9px}.summary b{display:block;color:#24414d;font-size:13px}.activity,.alert,.service{display:flex;gap:9px;align-items:center;border-bottom:1px solid #edf1f2;padding:10px 0;font-size:10px}.activity:last-child,.alert:last-child{border:0}.bubble{width:28px;height:28px;border-radius:8px;background:#eef6f5;color:var(--teal);display:grid;place-items:center}.activity p,.alert small,.service p{margin:2px 0 0;color:#829197;font-size:9px}.activity time{margin-left:auto;color:#87949a;font-size:9px;white-space:nowrap}.alert b{font-size:10px}.alert em{margin-left:auto;color:#ad7330;font-style:normal;font-weight:700;font-size:10px}.tablewrap{overflow:auto}.tablecard{padding:4px 14px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#84939a;font-size:9px;letter-spacing:.6px;text-transform:uppercase;padding:10px 8px;border-bottom:1px solid var(--line)}td{font-size:10px;padding:11px 8px;border-bottom:1px solid #eef2f2;color:#50656e}td:first-child{font-weight:650;color:#264550}.pill{display:inline-block;background:#eaf1f8;color:#527a9a;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:700}.teal{background:#e5f4f1;color:#248471}.gold{background:#fff3df;color:#a8751d}.red{background:#fdecea;color:#b7504a}.gray{background:#eef1f2;color:#6e7e85}.searchrow{display:flex;gap:8px;margin-bottom:13px;flex-wrap:wrap}.searchrow input,.searchrow select{border:1px solid var(--line);background:white;border-radius:7px;padding:8px;font-size:10px;color:#61747c}.searchrow input{min-width:220px}.kanban{display:grid;grid-template-columns:repeat(6,190px);gap:10px;overflow:auto}.stage{background:#edf2f2;border-radius:9px;padding:10px;min-height:330px}.stage h3{font-size:10px;color:#47616a}.deal{padding:10px;margin:7px 0;background:white;border-radius:8px;border:1px solid var(--line);font-size:10px}.deal small{display:block;color:#829197;margin:4px 0}.deal span{font-weight:700;color:#34545f}.invmetrics{grid-template-columns:repeat(3,1fr);margin-bottom:14px}.invmetrics strong{font-size:20px;display:block;margin-top:6px}.servicegrid,.reportgrid{grid-template-columns:1.2fr .8fr}.servicegrid .service{padding:12px 0}.service b{font-size:10px}.date{background:#eef6f5;border-radius:8px;padding:6px;color:#267c78;font-weight:700}.seller{display:grid;grid-template-columns:95px 1fr 25px;gap:8px;align-items:center;padding:10px 0;font-size:10px}.seller .track{height:7px}.bar2{background:#54a99d!important}.veil{display:none;position:fixed;inset:0;background:#142e3b77;z-index:8;align-items:center;justify-content:center;padding:16px}.veil.show{display:flex}.modal{width:min(560px,100%);background:white;border-radius:13px;padding:22px;position:relative}.modal h2{font-size:17px;margin:0 0 16px}.x{float:right;border:0;background:#f1f4f4;border-radius:6px;font-size:18px;cursor:pointer}.form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:4px}.field.full{grid-column:1/-1}.field label{font-size:10px;color:#62767e}.field input,.field select{border:1px solid #dfe7e8;padding:9px;border-radius:7px;font-size:11px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}#toast{position:fixed;right:20px;bottom:20px;background:#173b4b;color:white;border-radius:8px;padding:12px 15px;font-size:11px;opacity:0;transition:.2s;z-index:9}#toast.show{opacity:1}.note{background:#f0f7f6;padding:11px;border-radius:8px;font-size:10px;color:#47646c;margin-top:12px}.plain{font-size:10px;color:#61747c;margin-top:10px}
@media(max-width:1000px){.sidebar{width:205px}main{margin-left:205px}#app{padding:22px}.metrics{grid-template-columns:repeat(2,1fr)}.two,.three{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{width:0;padding:0;overflow:hidden;transition:.2s}.sidebar.open{width:245px;padding:18px 14px}main{margin:0}header{height:56px;padding:0 12px;gap:10px}#menu{display:block}header>span:nth-child(2){display:none}header input{width:45vw}#app{padding:18px 12px}.head{display:block}.head h1{font-size:22px}.buttons{margin-top:12px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:20px}.metric small{font-size:9px}.invmetrics{gap:7px}.invmetrics strong{font-size:15px}.frow{grid-template-columns:95px 1fr 30px;gap:6px}.summary{gap:12px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.reportgrid,.servicegrid{grid-template-columns:1fr}}

/* Touch-friendly full-height dialogs on phones; keep form actions reachable. */
body.modal-open{overflow:hidden}
.veil{overflow-y:auto;-webkit-overflow-scrolling:touch;align-items:flex-start}
.veil.show{overscroll-behavior:contain}
.modal{max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;margin:auto 0}
.modal .actions{position:sticky;bottom:-22px;background:#fff;padding:12px 0 2px;z-index:1}
body.modal-open{overflow:hidden}
.stage.drag-over{outline:2px dashed var(--teal);outline-offset:-3px;background:#e3f4f1}
.deal[draggable="true"]{cursor:grab}.deal.dragging{opacity:.45}.deal-actions{display:flex;gap:6px;align-items:center;margin-top:8px}.deal-actions select{max-width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:6px;font-size:10px;background:#fff}.activity-entry{border-bottom:1px solid var(--line);padding:12px 4px}.activity-entry>div{display:flex;justify-content:space-between;gap:12px}.activity-entry time,.activity-entry small{font-size:10px;color:var(--muted)}.activity-entry p{margin:7px 0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:650px){.veil{padding:8px;align-items:flex-start}.modal{max-height:calc(100dvh - 16px);padding:17px;border-radius:10px}.modal .form{grid-template-columns:minmax(0,1fr)}.modal .field.full{grid-column:auto}.modal .actions{position:sticky;bottom:-17px;padding:12px 0 0}.tablewrap{max-width:calc(100vw - 54px)}.buttons{flex-wrap:wrap}.kanban{grid-template-columns:repeat(7,minmax(160px,78vw));padding-bottom:8px}}

.brand img{width:82px;height:auto;display:block;background:#fff;border-radius:5px;padding:4px}.brand{gap:8px;font-size:12px;letter-spacing:.5px}.brand small{letter-spacing:1px}


#login .modal img{display:block}#login .field{margin:10px 0}#login .field input,#login .field select{width:100%}
textarea{font:inherit;border:1px solid #dfe7e8;padding:9px;border-radius:7px;font-size:11px;color:#3d555f;resize:vertical}button:disabled{opacity:.65;cursor:wait}

