/* Portal UI 20261019: consistent spacing; accounting and printer options unchanged. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.is-admin .app-main{--card-space:20px;--field-gap:8px}
.is-admin .app-main .card:not(#printer-options-admin):not(.legacy-admin-layout){padding:var(--card-space);margin-bottom:18px;min-width:0}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>:first-child{margin-top:0}.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>:last-child{margin-bottom:0}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>details{padding:12px 14px;border:1px solid #d6e3da;border-radius:10px}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>details>summary{cursor:pointer;line-height:1.5}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>details[open]>summary{margin-bottom:12px}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) form{margin:12px 0 18px;max-width:100%}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) form:last-child{margin-bottom:0}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form:not(:has(.refresh-columns,.compact-fields,.table-scroll)){display:grid;grid-template-columns:minmax(110px,170px) minmax(0,360px);gap:6px 14px;align-items:center}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form:not(:has(.refresh-columns,.compact-fields,.table-scroll))>label{grid-column:1;margin:4px 0}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form:not(:has(.refresh-columns,.compact-fields,.table-scroll))>:is(input,select,textarea,button){grid-column:2}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form:not(:has(.refresh-columns,.compact-fields,.table-scroll))>button{justify-self:start;margin-top:8px}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form>label:has(input,select,textarea){grid-column:1/-1!important}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form>:is(h2,h3,p,div,fieldset,details,table){grid-column:1/-1}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) label{display:block;margin:10px 0 5px;font-size:.88rem}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea){min-height:38px;padding:8px 10px;width:min(100%,360px);margin:0 0 6px}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) input[type=number],.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) input[inputmode=decimal]{width:10rem!important;max-width:100%;font-variant-numeric:tabular-nums}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) details>form{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:8px 12px;align-items:center}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) details>form>label{grid-column:1;margin:4px 0}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) details>form>:is(input,select,textarea,button){grid-column:2}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) details>form>button{justify-self:start}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) textarea{width:min(100%,640px);min-height:90px}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) :is(input[type=checkbox],input[type=radio]){width:auto;margin:0 7px 0 0;vertical-align:middle}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) button{min-height:38px;padding:8px 13px}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) :is(td,th){padding:10px 12px}
.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) :is(td,th) form{margin:4px 0}
.is-admin .compact-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 18px;align-items:start;max-width:900px}
.compact-fields>label{display:flex!important;flex-direction:column;gap:6px}
.is-admin .compact-fields>label{margin:0;gap:5px}
.is-admin .compact-fields input{margin-bottom:0!important}
.field-unit{display:flex;align-items:center;gap:8px}.field-unit input{flex:0 1 auto;min-width:0}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.is-admin .refresh-columns{gap:18px}
.password-field{position:relative;width:min(100%,460px);display:flex;align-items:center}
.password-field input{width:100%!important;padding-right:54px!important}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:40px;min-height:36px;padding:7px;background:transparent;color:#375b48;border:0}
.password-toggle:hover{background:#edf6f0!important;color:#1e6c43!important}
.password-toggle svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.password-toggle[hidden]{display:none!important}
.auth-card{max-width:440px}.auth-card form>label{display:block}
.auth-secondary{margin-top:22px!important;padding-top:14px;border-top:1px solid #e5ece8;font-size:.8rem}
.auth-secondary a{color:#60756a;text-decoration:none}.auth-secondary a:hover{text-decoration:underline}
.upload-drop .upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;box-sizing:border-box;margin:0!important;padding:22px;gap:8px;min-height:230px}
.upload-plus{position:relative;display:block;font-size:0;flex:0 0 78px}
.upload-plus::before,.upload-plus::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:2px}
.upload-plus::before{width:34px;height:3px}.upload-plus::after{width:3px;height:34px}
.account-warnings{padding:14px 18px}.account-warnings p{margin:4px 0}.account-warnings a{font-weight:650}
.booklet-dialog{width:min(92vw,560px);max-height:85vh;overflow:auto;border:1px solid #bbd7c6;border-radius:16px;padding:0;color:var(--ifl-text);box-shadow:0 20px 70px #153a2a40}
.booklet-dialog::backdrop{background:#13271c80}.booklet-dialog .booklet-cleanup{margin:0;border:0;padding:24px;box-shadow:none}
.booklet-dialog h2{margin-top:0}.booklet-cleanup .form-actions button{flex:1 1 170px}
@media(max-width:700px){.is-admin .app-main{--card-space:16px}.is-admin .compact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) input[type=number],.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) input[inputmode=decimal]{max-width:100%}.password-field{width:100%}.form-actions button{min-height:44px}.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) button{min-height:42px}}
@media(max-width:420px){.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) details>form,.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form:not(:has(.refresh-columns,.compact-fields,.table-scroll)){grid-template-columns:1fr}.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout) details>form>:is(input,select,textarea,button),.is-admin .card:not(#printer-options-admin):not(.legacy-admin-layout)>form:not(:has(.refresh-columns,.compact-fields,.table-scroll))>:is(input,select,textarea,button){grid-column:1}.booklet-dialog .booklet-cleanup{padding:18px}}
@media(max-width:360px){.is-admin .compact-fields{grid-template-columns:1fr}}

.remember-login{display:flex!important;align-items:center;gap:8px;margin:16px 0 5px}.remember-login input{width:auto!important;margin:0}.auth-card #remember-login-help{display:block;color:#60756a;line-height:1.5}
