:root{--brand:#3a4fd8;--brand-soft:#eef0fd;--brand-ink:#2b3bb0;--bg:#f5f6f8;--surface:#fff;--line:#e3e5ea;--field:#cdd1d9;--ink:#15171c;--muted:#5a606b;--amber-bg:#fff0d6;--amber:#7a4600;--amber-bar:#d98a1a;--green-bg:#e3f5ea;--green:#16613a;--green-bar:#2f9e5f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--brand)}h1{letter-spacing:-.02em;margin:0;font-size:28px;line-height:1.2}h2{margin:0;font-size:17px}input,textarea,select,button{font:inherit;color:inherit}input:not([type=checkbox],[type=radio],[type=range]),textarea,select{border:1px solid var(--field);background:#fff;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical}input[type=range]{width:100%;accent-color:var(--brand)}label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}label.check{flex-direction:row;align-items:center;gap:8px;min-height:44px;font-weight:500}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.top{background:var(--surface);border-bottom:1px solid var(--line)}.top .in{flex-wrap:wrap;align-items:center;gap:12px 28px;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.logo{align-items:center;gap:10px;font-weight:700;display:flex}.logo i{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-style:normal;display:grid}.top nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.top nav a{color:var(--muted);border-radius:8px;padding:10px 14px;font-weight:500;text-decoration:none}.top nav a:hover{background:var(--bg);color:var(--ink)}main{flex-direction:column;gap:22px;max-width:1200px;margin:0 auto;padding:28px 24px 56px;display:flex}.row{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.grow{flex:999 560px;min-width:0}.side{flex:320px;min-width:0}.stack{flex-direction:column;gap:14px;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:20px 22px;display:flex}.muted{color:var(--muted);font-size:14px}.small{font-size:13px}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.stats .card{gap:2px;padding:16px 18px}.stats b{font-size:26px}.btn{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--brand-ink);color:#fff}.btn.ghost{color:var(--ink);border:1px solid var(--field);background:#fff}.btn:disabled{opacity:.6;cursor:default}.chip{white-space:nowrap;background:var(--brand-soft);color:var(--brand-ink);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.chip.amber{background:var(--amber-bg);color:var(--amber)}.chip.green{background:var(--green-bg);color:var(--green)}.chip.dark{background:var(--ink);color:#fff}.bar{background:#e8eaf0;border-radius:99px;height:8px;overflow:hidden}.bar>div{background:var(--brand);border-radius:99px;height:100%;transition:width .4s}.bar.amber>div{background:var(--amber-bar)}.bar.green>div{background:var(--green-bar)}.alert{background:var(--amber-bg);color:var(--amber);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:500}a.req{color:inherit;text-decoration:none}a.req:hover{border-color:var(--brand)}.steps{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.steps li span{background:#eef0f3;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.steps li.done{color:var(--ink)}.steps li.done span{background:var(--brand);color:#fff}.steps li.now{color:var(--ink);font-weight:700}.steps li.now span{color:var(--brand);border:2px solid var(--brand);background:#fff}.event{border-bottom:1px solid #eef0f3;gap:12px;padding-bottom:14px;display:flex}.event:last-child{border-bottom:0;padding-bottom:0}.avatar{background:var(--brand-soft);width:34px;height:34px;color:var(--brand-ink);border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.event.client .avatar{color:#8a4b00;background:#ffe8cc}.event.note{background:#fffdf5;border-radius:10px;padding:10px}.event p{white-space:pre-wrap;margin:4px 0 0;font-size:14px}.files{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.file{border:1px solid var(--line);color:inherit;border-radius:10px;flex-direction:column;font-size:13px;text-decoration:none;display:flex;overflow:hidden}.file .thumb{aspect-ratio:4/3;color:#c9ceda;background:#2a2f3a;place-content:center;justify-items:center;gap:4px;font-weight:700;display:grid}.file img,.file video{aspect-ratio:4/3;object-fit:cover;background:#2a2f3a;width:100%;display:block}.file div:last-child{text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;overflow:hidden}.table{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:860px;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 14px;font-size:12px}td{vertical-align:middle;border-bottom:1px solid #eef0f3;padding:12px 14px}tr:last-child td{border-bottom:0}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filters label{flex:160px}.pills{flex-wrap:wrap;gap:8px;display:flex}.pills label{border:1px solid var(--field);cursor:pointer;border-radius:99px;flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:500}.pills label:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}.drop{text-align:center;cursor:pointer;background:#f7f8fe;border:2px dashed #b9c0f0;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;font-weight:600;display:flex;position:relative}.drop.over{border-color:var(--brand);background:var(--brand-soft)}
