:root{font-family:Arial,Helvetica,sans-serif;color:#202827;background:#f3f7f4;font-size:14px;--green:#237b5a;--ink:#202827;--muted:#7b8580;--line:#dfe6e1;--surface:#fff;--soft:#eaf4ee;letter-spacing:0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}.portal-loading{min-height:100vh;display:grid;place-items:center;color:var(--green);font-size:24px;font-weight:700}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(280px,440px) minmax(0,1fr);background:#edf5f0}.auth-panel{background:#fff;padding:clamp(28px,7vw,72px);display:flex;flex-direction:column;justify-content:center}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:700;margin-bottom:50px}.brand-mark{width:38px;height:38px;border-radius:7px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:20px}.auth-panel h1{font-size:30px;margin:0 0 10px}.muted{color:var(--muted)}.auth-panel form{display:grid;gap:18px;margin-top:30px}.auth-visual{display:flex;align-items:flex-end;padding:50px;background:linear-gradient(120deg,#dcefe3,#edf5f2 55%,#dfeef4)}.auth-visual p{max-width:500px;font-size:28px;line-height:1.3;margin:0}.auth-visual small{display:block;font-size:13px;color:#65736c;margin-top:15px}label{display:grid;gap:7px;font-size:12px;color:#56635c}input,select,textarea{width:100%;min-height:43px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:10px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#71a98d;box-shadow:0 0 0 3px #237b5a12}.remember{display:flex;align-items:center;gap:9px}.remember input{width:18px;min-height:18px;accent-color:var(--green)}.primary,.secondary{min-height:42px;border:1px solid transparent;border-radius:5px;padding:10px 15px;font-weight:650}.primary{background:var(--green);color:#fff}.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.error,.notice{padding:11px 13px;border-radius:5px;line-height:1.5}.error{background:#fff0ee;color:#a6423a;border:1px solid #f0cec9}.notice{background:#edf8ef;color:#287049;border:1px solid #cfe7d5}.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 14px;position:sticky;top:0;height:100vh}.sidebar .brand{margin:0 10px 36px}.nav-button{border:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border-radius:5px;color:#6f7b74}.nav-button.active{background:var(--soft);color:var(--green);font-weight:650}.account{margin-top:auto;border-top:1px solid var(--line);padding:19px 10px 0}.account strong,.account small{display:block;overflow-wrap:anywhere}.account small{color:var(--muted);font-size:11px;margin-top:5px}.logout{margin-top:14px;width:100%}.main{min-width:0}.topbar{height:69px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar strong{font-size:13px}.content{padding:34px;max-width:1500px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:27px}.page-head h1{font-size:28px;margin:0}.page-head p{margin:7px 0 0}.filters{display:flex;align-items:center;gap:7px;margin-bottom:18px;flex-wrap:wrap}.filter{border:0;background:transparent;color:var(--muted);padding:8px 11px;border-bottom:2px solid transparent}.filter.active{color:var(--green);border-color:var(--green);font-weight:650}.application-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:17px;min-height:220px;display:flex;flex-direction:column;text-align:left}.card.button{cursor:pointer}.card.button:hover{border-color:#abd0bd}.card-top{display:flex;align-items:center;gap:9px;padding-bottom:12px;border-bottom:1px solid var(--line)}.card-top strong{flex:1}.badge{font-size:10px;padding:5px 8px;border-radius:4px;background:#edf0ee;color:#727c77;white-space:nowrap}.badge.pending,.badge.in_progress{background:#fff1cf;color:#8b671b}.badge.approved,.badge.completed{background:#e5f4e9;color:#27724b}.badge.rejected,.badge.closed{background:#f3e8e7;color:#95514c}.person{font-weight:700;text-transform:uppercase;padding:15px 0 8px}.line{display:grid;grid-template-columns:75px minmax(0,1fr);gap:8px;padding:6px 0;font-size:12px}.line span{color:var(--muted)}.card-id{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.create-card{align-items:center;justify-content:center;border-style:dashed;color:var(--green);background:#edf6f0;font-weight:650}.empty{background:#fff;border:1px solid var(--line);padding:55px 20px;text-align:center;border-radius:7px}.modal-bg{position:fixed;inset:0;background:#18241e80;display:flex;justify-content:flex-end;z-index:20}.drawer{background:#fff;width:min(760px,100%);height:100%;overflow:auto;padding:27px}.drawer-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:25px}.drawer-head h2{margin:0;font-size:22px}.close{border:1px solid var(--line);background:#fff;border-radius:5px;width:42px;height:42px;font-size:20px}.steps{display:flex;gap:10px;border-bottom:1px solid var(--line);margin-bottom:24px}.steps span{padding:10px 3px 13px;color:var(--muted);font-size:11px;flex:1}.steps .active{color:var(--green);border-bottom:2px solid var(--green);font-weight:650}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.applicant{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.applicant h3{margin:0 0 16px}.price{font-size:20px;font-weight:700;color:var(--green)}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-list div{border-top:1px solid var(--line);padding-top:12px}.detail-list small{display:block;color:var(--muted);margin-bottom:7px}.menu{display:none}.hidden{display:none!important}@media(max-width:820px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:28px max(20px,env(safe-area-inset-left))}.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;transform:translateX(-100%);transition:transform .2s;width:230px}.sidebar.open{transform:none}.menu{display:inline-flex;border:0;background:transparent;font-size:22px}.topbar{height:auto;min-height:64px;padding:max(10px,env(safe-area-inset-top)) 16px 10px}.content{padding:24px 16px}.page-head{align-items:flex-start}.page-head h1{font-size:24px}.application-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.drawer{padding:20px 16px}.detail-list{grid-template-columns:1fr}input,select,textarea{font-size:16px;min-height:44px}.form-actions button{flex:1}}
