:root{font:16px/1.5 'Segoe UI',Arial,sans-serif;color:#203044;background:#f2f5f8;--line:#dde4ec;--blue:#225fba}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}a{color:var(--blue)}button{min-height:44px;padding:9px 14px;border:1px solid var(--line);background:white;border-radius:8px;color:#203044;cursor:pointer;font-weight:600}button:hover{background:#edf3fa}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);color:white}.primary:hover{background:#194f9f}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #68a3f5;outline-offset:3px}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}aside{background:#243c59;color:white;padding:30px 22px;display:flex;flex-direction:column;gap:35px}aside p{margin-top:auto}.logo{font-size:23px;font-weight:800;letter-spacing:-1px}.logo small{font-weight:400;opacity:.65}nav{display:grid;gap:8px}nav a{color:white;text-decoration:none;padding:12px;border-radius:8px}nav a:hover,nav a[aria-current=page]{background:#ffffff18}main{width:100%;max-width:1400px;padding:28px 38px;margin:auto;min-width:0}header,.row,.head,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}header{margin-bottom:28px;font-size:14px}.head{margin:20px 0}h1{font-size:36px;letter-spacing:-1px;line-height:1.2;margin:10px 0}h2{font-size:20px;margin:0}h3{font-size:16px}p{margin:8px 0 16px}.muted,small{color:#607083}aside small{color:#d2deec}.badge{font-size:13px;padding:5px 10px;border-radius:20px;background:#e5eefb;color:#235798;display:inline-block}.green{background:#e3f3ea;color:#19724e}.panel,.job{padding:22px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.job{display:block;width:100%;text-align:left}.job:hover{border-color:var(--blue)}.job p{font-weight:400}.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:22px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.value{font-size:26px;font-weight:700;overflow-wrap:anywhere}.filters{display:grid;grid-template-columns:minmax(150px,2fr) 1fr 1fr;gap:12px;margin:22px 0}.filters label{margin:0}.filters input,.filters select{margin-top:6px}label{display:block;margin:15px 0 5px;font-weight:600;font-size:14px}input,textarea,select{width:100%;border:1px solid #b9c6d4;border-radius:7px;padding:11px;background:white;color:#203044;min-height:44px}textarea{min-height:100px;resize:vertical}.note{white-space:pre-wrap;overflow-wrap:anywhere}.expense{padding:12px 0;border-bottom:1px solid var(--line)}.notice{padding:14px 18px;border-radius:8px;background:#e9eff6;color:#4b6078;font-size:13px}.steps{display:flex;gap:7px;padding:0;list-style:none;margin:24px 0}.steps li{flex:1;border-top:4px solid var(--line);padding-top:9px;font-size:12px;overflow-wrap:anywhere}.steps li.active{border-color:var(--blue);color:var(--blue);font-weight:700}.steps li.done{border-color:#19724e}.actions{justify-content:flex-end;margin-top:22px}dialog{width:calc(100% - 28px);max-width:580px;max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:24px;color:#203044}dialog::backdrop{background:#142c4a70}#error{color:#a12828}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90%;padding:14px 20px;background:#243c59;color:white;border-radius:9px;z-index:10}.history{padding-left:20px;font-size:14px}.history li{margin:12px 0}.history time{display:block;color:#607083;font-size:12px}summary{cursor:pointer;min-height:44px}.danger{color:#a12828}.money{font-variant-numeric:tabular-nums}hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.agenda{list-style:none;padding:0;margin:0}.agenda-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.agenda-item:last-child{border-bottom:0}.agenda-action button{min-width:44px}.agenda-body{min-width:0;overflow-wrap:anywhere}.agenda-body strong{display:block}.agenda-body .note{font-size:14px;margin:6px 0 0}.agenda-item .badge{justify-self:end;text-align:right}.agenda-done .agenda-body strong{color:#607083}.agenda-empty{padding:20px 0}.small{font-size:13px}
@media(max-width:1000px){.shell{grid-template-columns:170px minmax(0,1fr)}main{padding:24px}.grid{grid-template-columns:1fr}aside{padding:24px 15px}}@media(max-width:600px){.shell{display:block}aside{padding:14px 16px;gap:12px}aside p{display:none}nav{display:flex;gap:8px}nav a{padding:8px 12px;min-height:44px}main{padding:18px 16px 50px}h1{font-size:30px}.panel,.job{padding:18px}.filters{grid-template-columns:1fr}.value{font-size:23px}header{align-items:flex-start}.steps{gap:5px}.agenda-item{grid-template-columns:52px minmax(0,1fr);gap:8px 12px}.agenda-item .badge{grid-column:2}.agenda-action{align-self:start}}
[hidden]{display:none!important}main.login{max-width:520px;margin:8vh auto;padding:24px 20px}.login h1{margin:28px 0 18px}.login-button{display:block;text-align:center;text-decoration:none;min-height:48px;padding:12px 16px;border-radius:8px;margin:20px 0}.login .logo{color:#243c59}#accountName{overflow-wrap:anywhere;max-width:100%}
.job-logo{display:block;max-width:100%;width:auto;max-height:320px;object-fit:contain;margin:18px 0;border:1px solid #dde4ec;border-radius:8px;background:#f2f5f8}#logoFile{max-width:100%;overflow:hidden}
