:root{font-family:'Kanit',sans-serif;color:#f2f7f5;background:#061512;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -30%,#163c34 0,transparent 55%),#061512}.shell{max-width:1480px;margin:auto;padding:30px 46px 32px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:48px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:14px;letter-spacing:-.02em;color:#e6efeb}.brandmark{width:39px;height:39px;border-radius:12px;background:#15483e;color:#8be0c9;display:grid;place-items:center;border:1px solid #327263}.brandmark svg{width:21px}.topnote{font-size:10px;letter-spacing:.15em;color:#88a69c;border:1px solid #23423a;border-radius:99px;padding:9px 13px}.hero{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:0 0 30px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:750;color:#70c7ae;text-transform:uppercase}.hero h1{font-size:clamp(35px,4.6vw,58px);letter-spacing:-.055em;line-height:1.08;margin:12px 0 10px;color:#f4f8f6}.hero p{color:#9aafa8;font-size:14px;line-height:1.75;margin:0;max-width:620px}.count{flex:0 0 auto;color:#91aaa1;font-size:12px;padding-bottom:4px}.count strong{font-size:22px;color:#b8e8da;font-weight:500;margin-right:5px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:330px;padding:23px 25px 24px;border:1px solid #31534a;border-radius:15px;background-color:#10241f;background-size:cover;background-position:center;text-decoration:none;color:inherit;box-shadow:0 15px 45px #0003;transition:border-color .2s,transform .2s,box-shadow .2s}.card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,17,15,.91) 0%,rgba(4,20,18,.72) 44%,rgba(4,19,17,.18) 100%),linear-gradient(0deg,rgba(3,13,12,.63),transparent 68%);transition:opacity .2s}.card[href]:hover{transform:translateY(-3px);border-color:#70b9a4;box-shadow:0 20px 54px #0005}.card[href]:hover:before{opacity:.88}.card-stock{background-image:url('/assets/embedded/5dbe7544792f2362342081f2.jpg')}.card-fix{background-image:url('/assets/embedded/9a5c37d44b25d1a42079d1a2.jpg')}.card-room{background-image:url('/assets/embedded/5a31ecc260947da24b6ee419.jpg')}.card-network{background-image:url('/assets/embedded/8fb290c015613449dc205152.jpg')}.cardtop{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.category{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:.13em;color:#d5e8e1;text-transform:uppercase}.category:before{content:"";width:7px;height:7px;border-radius:50%;background:#67d0b2;box-shadow:0 0 13px #67d0b2}.status{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:650;color:#d2eee4;background:#0a201ba8;border:1px solid #77cbb045;border-radius:99px;padding:7px 10px;white-space:nowrap;backdrop-filter:blur(8px)}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:#69d3a9}.status.planned{color:#e0e6e2;border-color:#d4e5dc38}.status.planned:before{background:#c4c9c6}.cardcontent{max-width:510px}.card h2{font-size:clamp(23px,2.5vw,33px);letter-spacing:-.035em;line-height:1.22;margin:0 0 9px;color:#f5f9f7}.card p{font-size:13px;line-height:1.75;color:#cfdbd6;margin:0;max-width:410px}.cardfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:#9eb6ac;font-size:11px}.open{display:inline-flex;align-items:center;gap:10px;color:#a8ebd7;font-size:12px;font-weight:700;letter-spacing:.02em}.arrow{width:28px;height:28px;border:1px solid #b4e8d55e;border-radius:50%;display:grid;place-items:center;font-size:15px;line-height:1;transition:background .2s,color .2s}.card[href]:hover .arrow{background:#87dfc3;color:#08231b}.disabled{cursor:default;filter:saturate(.75)}.disabled:before{background:linear-gradient(90deg,rgba(3,17,15,.94) 0%,rgba(4,20,18,.79) 50%,rgba(4,19,17,.47) 100%),linear-gradient(0deg,rgba(3,13,12,.68),transparent 68%)}.disabled .cardfoot{color:#afbbb5}.footer{margin-top:26px;padding-top:15px;border-top:1px solid #284139;display:flex;justify-content:space-between;gap:12px;color:#789087;font-size:10px}.footer strong{color:#a4bbb1;font-weight:600}@media(max-width:760px){.shell{padding:22px 17px 25px}.topbar{margin-bottom:38px}.topnote{font-size:9px;letter-spacing:.08em}.hero{display:block;margin-bottom:22px}.hero h1{font-size:39px}.hero p{font-size:13px}.count{margin-top:13px}.grid{grid-template-columns:1fr;gap:13px}.card{min-height:285px;padding:19px 20px 20px}.card h2{font-size:26px}.footer{flex-direction:column}}@media(max-width:400px){.topnote{display:none}.card{min-height:260px}.card p{font-size:12px}}
  .brand{gap:13px}.org-logo{width:54px;height:54px;object-fit:cover;border-radius:50%;background:#fff;padding:2px;box-shadow:0 3px 12px #0005;flex:0 0 auto}.org-name{display:grid;gap:3px}.org-name span{font-size:15px}.org-name small{font-size:11px;font-weight:500;letter-spacing:.04em;color:#9bb4aa}.footer{display:grid;grid-template-columns:1fr;gap:10px}.footer-main{display:flex;justify-content:space-between;gap:12px}.credit{padding-top:10px;border-top:1px solid #28413965;text-align:center;color:#9ab1a7;font-size:11px}.credit strong{color:#c6d8d0;font-weight:600}@media(max-width:760px){.footer-main{display:grid;gap:7px}.credit{text-align:left}}.brand{margin-left:0}.org-logo{width:80px;height:80px}.org-name span{font-size:21px;letter-spacing:-.02em}.org-name small{font-size:14px;color:#658074}.topbar{margin-bottom:38px}.topnote{color:#60796d;background:#ffffffad;border-color:#d6e2d8}.hero h1{color:#263a30}.hero p{color:#687a70}.count{color:#6c8074}.count strong{color:#417560}.footer{border-color:#dce6dd;color:#829288}.footer strong{color:#50685b}.credit{color:#6f8378}.credit strong{color:#3f5c4b}.cardcontent{width:100%;max-width:none}.open{margin-left:auto;flex:0 0 auto}:root{color:#20352b;background:#f3f6f1;color-scheme:light}body{background:radial-gradient(ellipse at 50% -30%,#e1ebe2 0,transparent 55%),#f4f7f3}@media(max-width:760px){.org-logo{width:64px;height:64px}.org-name span{font-size:17px}.org-name small{font-size:12px}} .brand{color:#263c30}.org-logo{width:78px;height:78px;object-fit:contain;border-radius:0;background:transparent;padding:0;box-shadow:none;flex:0 0 auto}.org-name span{font-size:22px;font-weight:600;color:#263c30}.org-name small{font-size:14px;font-weight:500;color:#425f4e}.hero h1,.card h2{font-weight:400}@media(max-width:760px){.org-logo{width:63px;height:63px}.org-name span{font-size:18px}.org-name small{font-size:12px}}.account-area{display:flex;align-items:center;justify-content:flex-end;min-width:220px}.account-button{border:1px solid #416b4c;border-radius:9px;padding:9px 14px;background:#416b4c;color:#fff;font:500 12px 'Kanit',sans-serif;cursor:pointer;box-shadow:0 3px 10px #20352b18}.account-button:hover{background:#355b40}.account-button.secondary{background:#fff;color:#355b40;box-shadow:none}.account-button.quiet{background:transparent;color:#63786b;border-color:transparent;box-shadow:none}.user-menu{display:flex;align-items:center;justify-content:flex-end;gap:9px}.user-menu[hidden],.account-button[hidden],.role-grid [hidden]{display:none!important}.account-name{color:#263c30;font-size:13px;font-weight:500}.portal-dialog{width:min(480px,calc(100vw - 28px));max-height:90vh;overflow:auto;border:1px solid #dce6dd;border-radius:18px;padding:24px;background:#fdfefd;color:#20352b;box-shadow:0 24px 80px #18312540;font:14px 'Kanit',sans-serif}.users-dialog{width:min(900px,calc(100vw - 28px))}.portal-dialog::backdrop{background:#18312570;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.dialog-heading h2{font-size:22px;font-weight:500;margin:4px 0}.dialog-heading p{margin:0;color:#748279;font-size:12px}.dialog-kicker{color:#51755b;font-size:11px}.dialog-close{width:32px;height:32px;border:0;border-radius:50%;background:#e8f0e7;color:#355b40;font-size:22px;cursor:pointer}.portal-dialog label{display:grid;gap:6px;color:#405749;font-size:12px;margin:12px 0}.portal-dialog input,.portal-dialog select{width:100%;border:1px solid #dce6dd;border-radius:8px;padding:10px 11px;color:#20352b;background:#fff;font:13px 'Kanit',sans-serif;outline:none}.portal-dialog input:focus,.portal-dialog select:focus{border-color:#7fa489;box-shadow:0 0 0 3px #e8f0e7}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.dialog-error{min-height:0;color:#a3453d;font-size:12px}.dialog-error:not(:empty){padding:9px 11px;margin:8px 0;background:#fff0ee;border-radius:8px}.users-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#526c5c;font-weight:500}.users-list{display:grid;gap:8px;max-height:56vh;overflow:auto}.user-row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(160px,1fr) minmax(150px,1.2fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e2e9e1;border-radius:10px;background:#fff}.user-row strong{display:block;color:#26392f;font-size:13px;font-weight:500}.user-row small{display:block;color:#7c8b81;font-size:10px;overflow-wrap:anywhere}.user-row .role-summary{color:#678071;font-size:11px}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid #dce6dd;background:#fff;border-radius:7px;padding:6px 9px;color:#416b4c;font:11px 'Kanit',sans-serif;cursor:pointer}.row-actions .delete-user{color:#a74842}.user-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.check-row{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important}.check-row input{width:auto}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:12px;border-radius:12px;background:#f3f6f1}.role-grid label{margin:5px 0}.role-grid label:first-child,.role-grid label:nth-child(2),.role-grid label:nth-child(3){font-size:11px}.role-grid select{padding:8px}.empty-users{padding:25px;text-align:center;color:#87968c;font-size:12px}.card[aria-disabled="true"]{pointer-events:none}@media(max-width:760px){.account-area{min-width:0}.user-menu{gap:4px;flex-wrap:wrap}.account-name{display:none}.account-button{padding:8px 10px;font-size:11px}.user-row{grid-template-columns:1fr auto}.user-row .role-summary{grid-column:1}.user-fields,.role-grid{grid-template-columns:1fr}.portal-dialog{padding:18px}}.login-actions{justify-content:stretch;gap:10px}.login-actions button{min-height:46px}.login-actions .login-submit{flex:1;display:flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:12px;background:linear-gradient(135deg,#416b4c,#5b8a5e);color:#fff;font:500 15px 'Kanit',sans-serif;box-shadow:0 7px 18px #416b4c30;transition:transform .16s,box-shadow .16s,background .16s}.login-actions .login-submit span{font-size:18px;transition:transform .16s}.login-actions .login-submit:hover{background:linear-gradient(135deg,#355b40,#4e7d54);box-shadow:0 10px 22px #416b4c40;transform:translateY(-1px)}.login-actions .login-submit:hover span{transform:translateX(3px)}.login-actions .login-submit:active{transform:translateY(0)}.login-actions .quiet{border-radius:12px;padding:0 18px;background:#f3f6f1;color:#596f60}
#loginDialog{width:min(460px,calc(100vw - 28px));padding:28px 30px;border-color:#dce8dc;background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%);box-shadow:0 28px 90px #14352150}#loginDialog .dialog-heading{align-items:center;padding-bottom:15px;border-bottom:1px solid #e8eee7}#loginDialog .dialog-heading h2{margin:5px 0;font-size:25px;letter-spacing:-.02em}#loginDialog .dialog-heading p{font-size:12px;line-height:1.7}#loginDialog label{margin:15px 0;font-size:12px;font-weight:500}#loginDialog label input{min-height:44px;font-size:14px}#loginDialog .dialog-close{flex:0 0 auto}@media(max-width:480px){#loginDialog{padding:20px}}
#loginOpen{min-height:42px;padding:8px 21px;border:1px solid #54745f;border-radius:999px;background:transparent;color:#355b40;font:500 13px 'Kanit',sans-serif;box-shadow:none;transition:border-color .18s,color .18s,transform .18s}#loginOpen:hover{background:transparent;border-color:#315b3b;color:#24442d;transform:translateY(-1px)}#loginDialog .login-submit{min-height:46px;flex:1;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #54745f;border-radius:999px;background:transparent;color:#355b40;font:500 14px 'Kanit',sans-serif;box-shadow:none;transition:border-color .18s,color .18s,transform .18s}#loginDialog .login-submit:hover{background:transparent;border-color:#315b3b;color:#24442d;box-shadow:none;transform:translateY(-1px)}#loginDialog .login-submit span{font-size:18px;transition:transform .18s}#loginDialog .login-submit:hover span{transform:translateX(3px)}.remember-row{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important;margin:9px 0 12px!important;color:#66796d!important;font-size:12px!important;font-weight:400!important}.remember-row input{width:16px!important;height:16px;accent-color:#416b4c}.profile-dialog{width:min(580px,calc(100vw - 28px))}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.password-change{margin:8px 0 13px;padding:12px 14px;border:1px solid #e2e9e1;border-radius:10px;background:#f7faf6}.password-change summary{color:#416b4c;font-size:12px;font-weight:500;cursor:pointer}.password-change label{margin:10px 0!important}.password-change label:last-child{margin-bottom:0!important}@media(max-width:560px){.profile-fields{grid-template-columns:1fr}.user-menu{max-width:250px}}
.users-toolbar-actions{display:flex;align-items:center;gap:8px}.users-toolbar-actions button{white-space:nowrap}.profile-dialog input[readonly]{background:#f2f5f1;color:#748279;cursor:not-allowed}.account-name{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.users-toolbar{align-items:flex-start;gap:9px;flex-direction:column}.users-toolbar-actions{width:100%;flex-wrap:wrap}.account-name{display:inline-block;max-width:130px;font-size:11px}}
#portalHero[hidden],#systemsGrid[hidden],#portalFooter[hidden],#usersPage[hidden]{display:none!important}.users-page{min-height:calc(100vh - 205px);padding:26px 28px;background:#fff;border:1px solid #e0e8df;border-radius:18px;box-shadow:0 12px 36px #2138290c}.users-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:21px;border-bottom:1px solid #e8eee7}.users-page-heading h2{margin:5px 0;font-size:25px;font-weight:500;color:#26392f}.users-page-heading p{margin:0;color:#748279;font-size:12px}.users-page .dialog-close{border-radius:999px;width:auto;height:38px;padding:0 15px;font:500 12px 'Kanit',sans-serif}.users-page label{display:grid;gap:6px;margin:10px 0;color:#405749;font-size:12px}.users-page input,.users-page select{width:100%;border:1px solid #dce6dd;border-radius:8px;padding:10px 11px;color:#20352b;background:#fff;font:13px 'Kanit',sans-serif;outline:none}.users-page input:focus,.users-page select:focus{border-color:#7fa489;box-shadow:0 0 0 3px #e8f0e7}.users-page .role-grid{margin-top:10px}.users-page .dialog-actions{justify-content:flex-end}.users-page #userForm>h3{margin:4px 0 12px;font-size:18px;font-weight:500;color:#355b40}@media(max-width:760px){.users-page{padding:17px 14px;border-radius:12px}.users-page-heading{align-items:flex-start;flex-direction:column}.users-page-heading button{align-self:flex-start}}
.manage-users-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

.users-page label.check-row{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:16px 0;padding:0;line-height:1.6;cursor:pointer}.users-page .check-row input[type="checkbox"]{width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:#416b4c;box-shadow:none}.users-page .check-row span{min-width:0}

.maintenance-notice{margin:0 0 18px;padding:12px 16px;border:1px solid #a27a35;border-radius:12px;background:#382c17;color:#ffe3a7}
