
:root{--bg:#f4f7f9;--panel:#fff;--line:#dde6eb;--text:#16242d;--muted:#6d7d87;--blue:#2e69a3;--blue2:#183d59;--green:#4f8d62;--amber:#c18a35;--red:#b64d4d;--purple:#7459af}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef4f8,#dae7ee);padding:20px}.login-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 22px 70px rgba(22,51,70,.15);text-align:center}.logo{width:52px;height:52px;border-radius:14px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;margin:auto}.logo.small{width:36px;height:36px;border-radius:10px;margin:0}.login-card h1{margin:12px 0 4px}.login-card p{margin:0 0 18px;color:var(--muted);font-size:12px}.login-card label{display:block;text-align:left;font-size:11px;font-weight:700;color:#5f727e;margin-top:11px}.login-card input{width:100%;margin-top:5px;padding:11px;border:1px solid var(--line);border-radius:9px}.credentials{margin-top:18px;background:#f7f9fb;border-radius:11px;padding:12px;text-align:left}.credentials strong,.credentials span{display:block;font-size:10px;line-height:1.7}.credentials span{color:var(--muted)}.error{min-height:16px;color:var(--red);font-size:10px;margin-top:8px}
.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;background:linear-gradient(180deg,var(--blue),var(--blue2));padding:18px 12px;color:#fff;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:4px 7px 20px}.brand strong,.brand span{display:block}.brand strong{font-size:19px}.brand span{font-size:9px;color:#c1d1dc;margin-top:2px;text-transform:uppercase;letter-spacing:.11em}.sidebar nav{display:grid;gap:4px}.nav-btn{border:0;background:transparent;color:#c9d8e1;text-align:left;border-radius:9px;padding:10px 11px;font-size:12px;font-weight:650}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.12);color:#fff}.nav-btn.active{box-shadow:inset 3px 0 #fff}.sidebar-bottom{margin-top:auto}.who{padding:10px}.who strong,.who span{display:block}.who strong{font-size:10px}.who span{font-size:8px;color:#c1d1dc;margin-top:3px}.ghost-light{width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:8px;font-size:9px}
main{margin-left:220px;min-height:100vh;padding:26px 30px 60px}.topbar{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}.back{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:9px}.back:disabled{opacity:.35}.title-wrap{flex:1}.title-wrap span{font-size:9px;letter-spacing:.15em;color:#7a8b95;font-weight:800}.title-wrap h1{font-size:25px;margin:4px 0 0}.top-actions{display:flex;gap:8px}.primary,.secondary{border-radius:9px;padding:9px 12px;font-size:10px;font-weight:750}.primary{border:0;background:var(--blue);color:#fff}.secondary{border:1px solid var(--line);background:#fff;color:#334955}.full{width:100%;margin-top:14px}
.grid{display:grid;gap:13px}.grid.two{grid-template-columns:1.45fr .85fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.panel{background:#fff;border:1px solid #e1e8ec;border-radius:14px;padding:17px;box-shadow:0 8px 24px rgba(28,49,62,.06)}.panel h2,.panel h3{margin:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.kicker{font-size:8px;letter-spacing:.14em;color:#7c8c96;font-weight:800}.metric span,.metric strong,.metric small{display:block}.metric span{font-size:10px;color:var(--muted);font-weight:700}.metric strong{font-size:28px;margin:7px 0}.metric small{font-size:8px;color:var(--muted)}.good{color:var(--green)!important}.warn{color:var(--amber)!important}.danger{color:var(--red)!important}
.role-hero{border-radius:15px;padding:20px;color:#fff;margin-bottom:13px}.role-tech{background:linear-gradient(135deg,#2c6ea4,#24567d)}.role-supervisor{background:linear-gradient(135deg,#b37728,#815321)}.role-manager{background:linear-gradient(135deg,#7254ad,#4e3b78)}.role-admin{background:linear-gradient(135deg,#415b72,#263d50)}.role-owner{background:linear-gradient(135deg,#242c34,#10161c)}.role-hero h2{font-size:21px;margin:4px 0}.role-hero p{font-size:10px;opacity:.8;max-width:700px}
.job-list,.thread-list,.user-list{display:grid}.list-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 4px;border-top:1px solid #edf1f3}.list-row:first-child{border-top:0}.list-row strong,.list-row span,.list-row small{display:block}.list-row strong{font-size:10px}.list-row span,.list-row small{font-size:8px;color:var(--muted);margin-top:3px}.row-actions{display:flex;gap:5px}.pill{border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800;display:inline-block}.blue-pill{background:#e9f2fa;color:#356c99}.green-pill{background:#edf6ef;color:#4a7c59}.amber-pill{background:#fff3df;color:#8a6326}.red-pill{background:#fde9e9;color:#9a3e3e}
.toolbar{display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.toolbar input,.toolbar select,.field input,.field select,.field textarea,.message-input input{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.toolbar input{min-width:240px}.job-detail .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#f8fafb;border-radius:10px;padding:12px;margin:12px 0}.fact span,.fact strong{display:block}.fact span{font-size:7px;color:var(--muted);text-transform:uppercase}.fact strong{font-size:9px;margin-top:4px}.tabs{display:flex;border-bottom:1px solid #e7ecef;margin-bottom:12px}.tab{border:0;background:transparent;padding:10px;font-size:9px;font-weight:800;color:#6b7e89;border-bottom:2px solid transparent}.tab.active{color:var(--blue);border-bottom-color:var(--blue)}.timeline{display:grid;gap:10px}.entry{border:1px solid #e1e7eb;border-radius:10px;padding:12px}.entry-head{display:flex;justify-content:space-between}.entry strong{font-size:9px}.entry p{font-size:9px;line-height:1.5;color:#50626d}.entry .meta{font-size:7px;color:var(--muted)}.photos{display:flex;gap:5px}.photo{width:72px;height:52px;border-radius:7px;background:linear-gradient(135deg,#82939c,#ced8dd)}
.message-stream{min-height:280px;display:flex;flex-direction:column;gap:8px}.bubble{max-width:70%;padding:9px 10px;border-radius:10px;font-size:9px}.bubble.mine{align-self:flex-end;background:#e9f2fa}.bubble.other{align-self:flex-start;background:#f0f4f6}.bubble strong,.bubble small{display:block}.bubble small{font-size:7px;color:var(--muted);margin-top:4px}.message-input{display:flex;gap:6px;margin-top:12px}.message-input input{flex:1}
.user-row{display:grid;grid-template-columns:1.2fr .7fr 1fr .8fr auto;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid #edf1f3;font-size:9px}.user-row:first-child{border-top:0}.color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:5px}.locked{opacity:.5}.notice{border-radius:10px;padding:11px;font-size:9px;margin-bottom:10px}.notice.warn{background:#fff4e3;border:1px solid #ead0a5;color:#755720}.notice.info{background:#edf4f8;border:1px solid #d6e4eb;color:#3f6378}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label{font-size:8px;color:#6c7d87;font-weight:700}.field input,.field select,.field textarea{width:100%;margin-top:5px}.toggle-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f3;padding:11px 0}.toggle-row:first-child{border-top:0}.toggle-row strong,.toggle-row span{display:block}.toggle-row strong{font-size:9px}.toggle-row span{font-size:7px;color:var(--muted);margin-top:3px}.toggle-row input{width:20px;height:20px}.license-row{display:grid;grid-template-columns:1.3fr .7fr .8fr .8fr auto;gap:8px;align-items:center;border-top:1px solid #edf1f3;padding:10px 0;font-size:9px}.license-row:first-child{border-top:0}
.modal-bg{position:fixed;inset:0;background:rgba(16,29,37,.5);display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(560px,100%);background:#fff;border-radius:15px;padding:18px}.modal-head{display:flex;justify-content:space-between}.modal-head span{font-size:8px;letter-spacing:.14em;color:#7c8c96;font-weight:800}.modal-head h2{font-size:18px;margin:4px 0 12px}.modal-head button{border:0;background:transparent;font-size:22px}.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.toast{position:fixed;right:22px;bottom:22px;background:#183d59;color:#fff;border-radius:9px;padding:10px 13px;font-size:9px;opacity:0;transform:translateY(8px);transition:.2s;z-index:60}.toast.show{opacity:1;transform:none}
@media(max-width:900px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.job-detail .facts{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{width:68px}.brand>div:last-child,.sidebar-bottom .who{display:none}.nav-btn{font-size:0;text-align:center}.nav-btn:before{content:"•";font-size:18px}main{margin-left:68px;padding:16px}.topbar .secondary{display:none}.toolbar{flex-direction:column}.toolbar input{min-width:0;width:100%}.user-row{grid-template-columns:1fr auto}.user-row>:nth-child(2),.user-row>:nth-child(3),.user-row>:nth-child(4){display:none}}
