:root{--nojan-orange:#ff5a00;--nojan-orange-dark:#d94c00;--nojan-orange-soft:#fff1e8}
.brand img{width:52px;height:52px;object-fit:contain;flex:0 0 auto}
.card .brand img{width:72px;height:72px}
button{background:var(--nojan-orange);box-shadow:0 6px 16px #ff5a0026;transition:background .18s ease,transform .18s ease}
button:hover{background:var(--nojan-orange-dark);transform:translateY(-1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff5a0040;outline-offset:2px}
.hero{border-top:5px solid var(--nojan-orange)}
.hero span{color:#ffb083;font-weight:bold}
.container>nav a:hover,.ghost:hover{border-color:var(--nojan-orange);color:var(--nojan-orange-dark);background:var(--nojan-orange-soft)}
.stats div{border-top:3px solid var(--nojan-orange)}
.stats b,.title h2{color:#123d58}
.badge.expiring{background:var(--nojan-orange-soft);color:#a43d00}
@media(max-width:560px){.brand img{width:44px;height:44px}.card .brand img{width:64px;height:64px}}
.file-field{padding:12px;border:1px dashed #ff5a0070;border-radius:12px;background:var(--nojan-orange-soft);font-weight:bold}
.file-field input{margin-top:7px;background:#fff}.file-field small{color:#80523a;font-weight:normal}
.attachment{display:inline-block;margin:7px 0;padding:8px 12px;border-radius:10px;background:var(--nojan-orange-soft);color:var(--nojan-orange-dark);font-weight:bold}
.service-editor{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr 1fr 1fr 1fr auto;gap:9px;align-items:end;padding:14px 0;border-top:1px solid #e3eaee}
.service-editor label{margin:0;font-size:12px}.service-editor button{white-space:nowrap}.service-owner{display:block;color:#708390;margin-top:4px}
.service-quantity{display:grid;gap:6px;text-align:center}.service-quantity span{font-size:12px;color:#607887}.service-quantity b{display:grid;place-items:center;min-height:43px;padding:8px 12px;border-radius:11px;background:var(--nojan-orange-soft);color:var(--nojan-orange-dark);font-size:18px}
.service-count{display:inline-block;padding:6px 11px;border-radius:20px;background:var(--nojan-orange-soft);color:var(--nojan-orange-dark);font-size:13px;font-weight:bold}
#service-search{margin:0 0 14px;border-color:#ff5a0060;background:#fffaf7}
.service-search-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:14px}.service-search-form #service-search{margin:0}.service-search-form button{min-width:150px}
.empty-search{padding:28px;text-align:center;border:1px dashed #ccdbe2;border-radius:14px;background:#f7fafb;color:#708390}
@media(max-width:1050px){.service-editor{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.service-editor{grid-template-columns:1fr 1fr}.service-editor button{grid-column:1/-1}}
@media(max-width:650px){.service-search-form{grid-template-columns:1fr}.service-search-form button{width:100%}}
.login-page{height:100vh;min-height:0;background:linear-gradient(135deg,#eef3f6 0%,#fff7f1 100%);padding:14px;display:grid;place-items:center;overflow:hidden}
.login-shell{width:min(1180px,100%);height:min(660px,calc(100vh - 28px));min-height:0;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #dfe7eb;border-radius:32px;overflow:hidden;box-shadow:0 28px 80px #123d5824}
.login-showcase{position:relative;overflow:hidden;padding:36px 44px;color:#fff;background:radial-gradient(circle at 20% 15%,#315e75 0,#123d58 40%,#0b293c 100%);display:flex;flex-direction:column}
.login-showcase:before,.login-showcase:after{content:"";position:absolute;border:1px solid #ff8b4e55;border-radius:50%}.login-showcase:before{width:420px;height:420px;left:-170px;bottom:-180px}.login-showcase:after{width:290px;height:290px;left:-105px;bottom:-115px}
.login-showcase-brand{position:relative;display:flex;align-items:center;gap:14px}.login-showcase-brand img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:18px;padding:5px}.login-showcase-brand strong{display:block;font-size:20px}.login-showcase-brand small{display:block;margin-top:5px;color:#c4d8e3}
.login-intro{position:relative;margin:auto 0}.login-eyebrow{display:inline-block;padding:7px 12px;border-radius:30px;background:#ff5a0025;color:#ffb083;border:1px solid #ff8b4e44}.login-intro h2{font-size:24px;line-height:1.7;margin:18px 0 9px;white-space:nowrap}.login-intro h2 em{display:inline;margin-right:.25em;color:#ff7a32;font-style:normal}.login-intro>p{line-height:1.9;color:#d6e4eb;max-width:470px}.login-benefits{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none}.login-benefits li{display:flex;align-items:center;gap:10px;color:#edf5f8}.login-benefits li:before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--nojan-orange);font-weight:bold}
.login-card-wrap{display:grid;place-items:center;padding:38px 50px}.login-card{width:min(430px,100%)}.login-mobile-logo{display:none}.login-card h1{font-size:32px;margin:0 0 8px;color:#123d58}.login-lead{color:#708390;line-height:1.8;margin:0 0 22px}.login-card label{color:#294556}.login-card input{padding:13px 15px;border-radius:13px;background:#f7f9fa}.login-card input:focus{border-color:var(--nojan-orange);background:#fff}.password-box{position:relative}.password-box input{padding-left:72px}.password-toggle{position:absolute;left:8px;top:50%;transform:translateY(-50%);padding:7px 10px;background:transparent;color:var(--nojan-orange-dark);box-shadow:none;font-size:12px}.password-toggle:hover{background:var(--nojan-orange-soft);transform:translateY(-50%)}.login-submit{width:100%;padding:14px;margin-top:9px;font-size:16px}.login-security{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:11px;border-radius:13px;background:#f3f7f9;color:#607887;font-size:12px;line-height:1.7}.login-security span{color:var(--nojan-orange);font-size:18px}.login-footer{margin-top:auto;color:#8eadbd;font-size:12px}
@media(max-width:850px){.login-page{height:auto;min-height:100vh;overflow:auto;padding:18px}.login-shell{grid-template-columns:1fr;height:auto;min-height:auto}.login-showcase{display:none}.login-card-wrap{padding:42px 28px}.login-mobile-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}.login-mobile-logo img{width:64px;height:64px;object-fit:contain}.login-mobile-logo strong{display:block;color:#123d58}.login-mobile-logo small{color:#708390}.login-card h1{font-size:30px}}
@media(max-width:480px){.login-page{padding:0;background:#fff}.login-shell{border:0;border-radius:0;box-shadow:none}.login-card-wrap{padding:30px 20px}}
