:root{--ink:#18344d;--brand:#195e91;--muted:#61778a;--line:#d6e2eb;--bg:#f1f6fa}
.application-logo{display:block;margin:0 auto;width:76px;height:76px;background:var(--brand);-webkit-mask:url('ci-logo.png') center/contain no-repeat;mask:url('ci-logo.png') center/contain no-repeat}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Arial,"Microsoft JhengHei",sans-serif}a{color:var(--brand)}button,input,select,textarea{font:inherit}button,.button{display:inline-block;border:0;border-radius:8px;padding:9px 15px;background:var(--brand);color:white;font-weight:700;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#edf4f9;color:var(--brand);border:1px solid var(--line)}.danger{background:#ab3948}.good{background:#217250}
.account-top{background:#174f7d;color:white;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px max(20px,calc((100vw - 1240px)/2));}.account-top a{color:white;text-decoration:none}.account-top nav{display:flex;gap:18px;flex-wrap:wrap}.account-brand{display:flex;align-items:center;gap:12px}.account-brand img{width:42px;height:42px;object-fit:contain}.account-brand b{font-size:19px}
.account-wrap{max-width:1280px;margin:28px auto;padding:0 20px 40px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;margin-bottom:6px}h2{font-size:20px;margin-bottom:12px}.page-title p{margin:0}.muted,.mini{color:var(--muted)}.mini{font-size:13px}.scope-badge,.status{display:inline-block;border-radius:20px;padding:3px 11px;background:#e5f0f8;color:var(--brand);font-size:13px}.status.off{background:#fceced;color:#a03140}.status.pending{background:#fff2ce;color:#855a00}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px;margin-bottom:20px;box-shadow:0 8px 22px #16354c08}.panel>summary{cursor:pointer;font-size:18px;font-weight:700}.panel[open]>summary{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}label{display:block;font-weight:700;font-size:14px}label small{display:block;font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid #afc4d4;border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff}input[type=hidden]{display:none}input:focus,select:focus,textarea:focus{outline:3px solid #dbeaf5;border-color:var(--brand)}textarea{resize:vertical}input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin-right:8px}.form-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.notice,.message,.error{padding:13px 16px;border-radius:9px;margin-bottom:18px}.notice{background:#edf5fc;border:1px solid #c9ddeb}.message{background:#e9f7ef;color:#17643e}.error{background:#fff0ef;color:#a72b28}.request-card{padding:18px 0;border-top:1px solid var(--line)}.request-card:first-of-type{border-top:0}.request-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.request-title h3{margin-bottom:6px;font-size:17px}.request-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-bottom:15px;overflow-wrap:anywhere}.request-note{white-space:pre-wrap}.tabs,.pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:15px 0}.tabs a{padding:6px 13px;border-radius:20px;text-decoration:none;background:#eef4f9}.tabs a.selected{background:var(--brand);color:white}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}th{background:#f2f7fb;color:#48667d}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.table-actions form{margin:0}.reset-form{margin-top:10px;min-width:250px}.reset-form label{margin-bottom:10px}.reset-form button{width:100%}summary{cursor:pointer}.empty{text-align:center;padding:30px;color:var(--muted)}.account-search{max-width:420px;margin-bottom:16px}
.application-page{min-height:100vh;background:linear-gradient(#092c4abb,#092c4acc),url('portal-kitchen-login.png') center/cover fixed}.application-wrap{max-width:780px;margin:auto;padding:32px 18px}.application-card{background:#fffffff5;border-radius:18px;padding:30px}.application-head{text-align:center;margin-bottom:20px}.application-head img{width:76px;height:76px;object-fit:contain}.application-head h1{margin:8px 0 4px}.captcha-row{display:grid;grid-template-columns:minmax(140px,244px) 48px minmax(110px,1fr);gap:10px;align-items:center}.captcha-row img{display:block;max-width:100%;height:65px;border:1px solid var(--line);border-radius:8px;background:#fff}.captcha-row input{margin:0}.captcha-row button{height:48px;font-size:24px;padding:0}.application-links{display:flex;justify-content:space-between;gap:15px;margin-top:18px}.sr-note{font-size:12px;color:var(--muted)}
@media(max-width:760px){.form-grid,.form-grid.two,.request-info{grid-template-columns:1fr}.account-top{padding:13px 16px;flex-wrap:wrap;gap:10px}.account-brand{flex-shrink:0}.account-brand b{font-size:16px;white-space:nowrap}.account-top nav{gap:14px;font-size:13px;margin-left:auto}.account-wrap{margin-top:18px;padding-inline:14px}.panel{padding:17px}.page-title{align-items:flex-start;flex-direction:column}.application-card{padding:23px 18px}.application-wrap{padding:18px 12px}.captcha-row{grid-template-columns:minmax(0,1fr) 48px}.captcha-row input{grid-column:1/-1}}
.feature-permission{width:min(440px,75vw)}
.assignment-permission{width:min(360px,75vw)}
.assignment-permission form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-top:10px}
.assignment-permission .assignment-confirm{font-weight:500}
.feature-permission form{padding-top:10px}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:8px 0 12px}
.feature-grid label{display:flex;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;font-weight:500}
@media(max-width:700px){.feature-grid{grid-template-columns:minmax(0,1fr)}}
.account-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.account-list-head h2,.account-list-head p{margin-bottom:0}.account-list-head .account-search{flex:0 1 440px;margin:0}
.account-table{min-width:920px;table-layout:fixed}.account-table th:nth-child(1){width:20%}.account-table th:nth-child(2){width:18%}.account-table th:nth-child(3){width:16%}.account-table th:nth-child(4){width:14%}.account-table th:nth-child(5){width:32%}
.account-primary,.account-scope{display:grid;gap:3px;min-width:0}.account-primary b,.account-scope b{overflow-wrap:anywhere}.account-primary span{color:#285978;font-weight:700;overflow-wrap:anywhere}.account-primary small,.account-scope span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.account-status-form{display:grid;justify-items:start;gap:4px;margin:0}.account-status-form small{color:var(--muted)}button.account-status-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:6px 10px;border:1px solid #c9d6df;border-radius:999px;background:#f2f5f7;color:#526b7c;white-space:nowrap}button.account-status-toggle.is-on{border-color:#a8d6be;background:#eaf8f0;color:#17643f}button.account-status-toggle.is-off{border-color:#e4bdc4;background:#fff0f2;color:#9b2d41}
.account-toggle-track{position:relative;width:34px;height:19px;border-radius:999px;background:#99aab6;box-shadow:inset 0 0 0 1px #0001}.account-toggle-track i{position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .16s ease}.account-status-toggle.is-on .account-toggle-track{background:#259867}.account-status-toggle.is-on .account-toggle-track i{transform:translateX(15px)}
.account-status-static{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 9px;border:1px solid #c9d6df;border-radius:999px;color:#526b7c;background:#f2f5f7;font-size:12px;white-space:nowrap}.account-status-static>span{width:9px;height:9px;border-radius:50%;background:#8a9ca8}.account-status-static.is-on>span{background:#35a878}.account-status-static.is-on{color:#17643f;background:#eaf8f0;border-color:#a8d6be}.account-status-static.is-off{color:#9b2d41;background:#fff0f2;border-color:#e4bdc4}
.account-password-note{display:block;width:max-content;max-width:100%;margin-top:7px;padding:3px 7px;border-radius:6px;background:#fff4d6;color:#825800;font-size:11px}.account-last-login{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.table-actions>details>summary,.account-self-link{display:inline-flex;align-items:center;min-height:34px;padding:5px 9px;border:1px solid #c8d8e3;border-radius:8px;background:#f7fafc;color:var(--brand);font-size:12px;text-decoration:none;white-space:nowrap}.table-actions>details[open]{flex-basis:100%;padding:10px;border:1px solid #d7e2e9;border-radius:10px;background:#fbfdfe}.table-actions>details[open]>summary{width:max-content;margin-bottom:8px;background:#eaf3f9}
@media(max-width:900px){.account-list-head{align-items:stretch;flex-direction:column}.account-list-head .account-search{max-width:none}.account-tablewrap{overflow:visible}.account-table,.account-table tbody{display:block;min-width:0;width:100%}.account-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.account-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 14px #1739560a;overflow:hidden}.account-table td{display:block;min-width:0;padding:10px 12px;border:0;border-bottom:1px solid #e3eaf0}.account-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:#6d8292;font-size:10px;font-weight:800;letter-spacing:.04em}.account-table td:last-child{grid-column:1/-1;border-bottom:0;background:#f8fbfd}.table-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.table-actions>details{min-width:0}.table-actions>details>summary{justify-content:center;width:100%;white-space:normal;text-align:center}.table-actions>details[open]{grid-column:1/-1}.reset-form,.assignment-permission,.feature-permission{width:100%;max-width:100%}}
#staffDirectory{min-width:0}
.account-section{min-width:0;max-width:100%;box-sizing:border-box}
.account-section>summary{overflow-wrap:anywhere}
details.panel:not([open])> :not(summary){display:none}
.account-section-hint{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:400}
.account-effective-permissions{display:grid;gap:3px;margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}
.account-scope-form{margin-top:18px!important;padding-top:14px!important;border-top:1px solid var(--line)}
#existingAccounts .account-tablewrap{height:auto;max-height:none;min-height:0}
@media(max-width:900px){
 .account-list-head .account-search{flex:0 1 auto;width:100%;min-width:0}
 #existingAccounts .account-table,#existingAccounts .account-table tbody{height:auto;max-height:none;overflow:visible}
 .account-section .table-actions,.account-section form,.account-section fieldset{min-width:0;max-width:100%;box-sizing:border-box}
 .account-section input:not([type=checkbox]):not([type=hidden]),.account-section select{min-width:0;max-width:100%;box-sizing:border-box}
}
@media(max-width:900px){#staffDirectory{overflow:hidden}#staffDirectory .account-tablewrap{box-sizing:border-box;max-height:min(58dvh,540px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;padding:4px;background:#f8fbfd;scrollbar-gutter:stable}#staffDirectory .account-table{max-width:100%}#staffDirectory .account-table tr:last-child{margin-bottom:0}}
@media(max-width:560px){.account-table tr{grid-template-columns:minmax(0,1fr)}.account-table td:last-child{grid-column:auto}.table-actions{grid-template-columns:minmax(0,1fr)}}
.permission-guide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid #bed6e7;border-radius:10px;background:#f5faff;color:var(--ink)}.permission-guide>div:first-child{display:grid;gap:3px}.permission-guide>div:first-child>b{color:var(--brand);font-size:15px}.permission-guide span{font-size:13px}.permission-guide-actions{display:flex;gap:8px;flex-wrap:wrap}.permission-guide .button{font-size:13px;padding:7px 11px}.permission-guide>small{grid-column:1/-1;color:var(--muted)}.staff-management{display:grid;gap:7px}.staff-management>details>summary{display:inline-flex;padding:5px 9px;border:1px solid #c8d8e3;border-radius:8px;background:#f7fafc;color:var(--brand);font-size:12px;font-weight:700}.staff-management>details[open]{padding:9px;border:1px solid #d7e2e9;border-radius:10px;background:#fbfdfe}.staff-management>details[open]>summary{margin-bottom:8px}.staff-management form{display:grid;gap:8px}.staff-delete>summary{border-color:#e4bdc4!important;background:#fff7f8!important;color:#9b2d41!important}.staff-delete-form .danger{justify-self:start}.staff-delete-form label{font-weight:700;color:#8f2f3e}
@media(max-width:720px){.permission-guide{grid-template-columns:minmax(0,1fr)}.permission-guide-actions{display:grid;grid-template-columns:minmax(0,1fr)}.permission-guide-actions .button{text-align:center}.permission-guide>small{grid-column:auto}}
