.webapp-body{margin:0;min-height:100vh;color:#183243;background:linear-gradient(145deg,#eef4f6 0%,#f8fafb 48%,#edf3f5 100%);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.webapp-body *{box-sizing:border-box}.webapp-login{min-height:100vh;display:grid;place-items:center;padding:max(1.25rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));background:radial-gradient(circle at 85% 15%,rgb(232 90 50 / 18%),transparent 30%),linear-gradient(135deg,#0c3144 0 38%,#f2f6f7 38%)}.webapp-login-card,.webapp-tenant-card{width:min(100%,36rem);padding:clamp(1.5rem,4vw,2.5rem);border:1px solid rgb(194 211 219 / 80%);border-radius:1.5rem;background:rgb(255 255 255 / 96%);box-shadow:0 28px 80px rgb(6 37 52 / 24%)}.webapp-login-brand,.webapp-brand>span{display:grid;place-items:center;color:#fff;background:#e85a32;font-weight:900}.webapp-login-brand{width:4rem;height:4rem;margin-bottom:1.25rem;border-radius:1.15rem;font-size:1.35rem;box-shadow:0 12px 25px rgb(232 90 50 / 28%)}.webapp-login-copy>span,.webapp-intro>div>span{color:#e85a32;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.webapp-login-copy h1{margin:.35rem 0 .45rem;font-size:clamp(2rem,5vw,2.8rem)}.webapp-login-copy p{margin:0;color:#607481;line-height:1.55}.webapp-login-form{display:grid;gap:1rem;margin-top:1.75rem}.webapp-login-form label{display:grid;gap:.42rem}.webapp-login-form label>span{font-size:.78rem;font-weight:800}.webapp-login-form input{width:100%;min-height:3.5rem;padding:0 1rem;border:1px solid #c7d5db;border-radius:.8rem;background:#f9fbfc;font-size:1rem}.webapp-login-form input:focus{outline:3px solid rgb(232 90 50 / 20%);border-color:#e85a32}.webapp-login-form button,.webapp-tenant-list button{min-height:3.5rem;border:0;border-radius:.8rem;color:#fff;background:#e85a32;font-weight:900;font-size:1rem;cursor:pointer}.webapp-login-help{display:inline-block;margin-top:1.15rem;color:#17617e;font-weight:800}.webapp-alert{padding:.85rem 1rem;border:1px solid #edb8aa;border-radius:.75rem;color:#9d321b;background:#fff1ed}.webapp-shell{width:min(100%,96rem);min-height:100vh;margin:0 auto;padding:clamp(1rem,2.5vw,2rem)}.webapp-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid #d8e4e8;border-radius:1.15rem;background:rgb(255 255 255 / 92%);box-shadow:0 10px 35px rgb(22 57 72 / 8%)}.webapp-brand{display:flex;align-items:center;gap:.7rem;color:#183243;text-decoration:none}.webapp-brand>span{width:2.8rem;height:2.8rem;border-radius:.75rem}.webapp-brand>strong{font-size:1.15rem}.webapp-scope{text-align:center}.webapp-scope span,.webapp-account span{display:block;color:#71838d;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.webapp-scope strong{font-size:1.05rem}.webapp-account{text-align:right}.webapp-account a{display:inline-block;margin-top:.25rem;color:#17617e;font-size:.78rem;font-weight:800}.webapp-intro{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:clamp(2rem,5vw,4rem) .35rem clamp(1.4rem,3vw,2.4rem)}.webapp-intro h1{margin:.4rem 0 .35rem;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.04em}.webapp-intro p{margin:0;color:#607481;font-size:clamp(.95rem,2vw,1.1rem)}.webapp-tenant-badge{max-width:22rem;padding:.7rem 1rem;border-radius:999px;color:#17485d;background:#e3eef2;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webapp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.25rem)}.webapp-tile{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:9.25rem;padding:1.35rem;border:1px solid #d4e1e6;border-radius:1.15rem;color:#173747;background:#fff;text-decoration:none;box-shadow:0 10px 30px rgb(20 60 77 / 7%);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.webapp-tile:hover,.webapp-tile:focus-visible{transform:translateY(-3px);border-color:#e85a32;box-shadow:0 18px 40px rgb(20 60 77 / 13%);outline:0}.webapp-tile-icon{display:grid;place-items:center;width:3.75rem;height:3.75rem;border-radius:1rem;color:#fff;background:linear-gradient(145deg,#0e526c,#167e9f);font-size:1.4rem;font-weight:900}.webapp-tile-icon-alarm,.webapp-tile-icon-finance{background:linear-gradient(145deg,#e85a32,#c94725)}.webapp-tile-copy{min-width:0}.webapp-tile-copy strong,.webapp-tile-copy small{display:block}.webapp-tile-copy strong{font-size:clamp(1.1rem,2vw,1.35rem)}.webapp-tile-copy small{margin-top:.35rem;color:#6b7f89;line-height:1.4}.webapp-tile-arrow{color:#e85a32;font-size:1.6rem}.webapp-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:.6rem .35rem;color:#687d88;font-size:.8rem}.webapp-footer form{margin:0}.webapp-footer button{border:1px solid #cbd9df;border-radius:.65rem;padding:.65rem .9rem;color:#304d5c;background:#fff;font-weight:800;cursor:pointer}.webapp-tenant-list{display:grid;gap:.7rem;margin-top:1.5rem}.webapp-tenant-list form{margin:0}.webapp-tenant-list button{width:100%;display:grid;grid-template-columns:3rem 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.8rem;padding:.65rem .8rem;text-align:left}.webapp-tenant-list button>span{grid-row:1/3;display:grid;place-items:center;width:3rem;height:3rem;border-radius:.7rem;color:#173f52;background:#fff}.webapp-tenant-list button>small{font-weight:600;opacity:.85}@media(max-width:900px){.webapp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.webapp-header{grid-template-columns:1fr 1fr}.webapp-scope{grid-row:2;grid-column:1/-1;padding-top:.75rem;border-top:1px solid #e2eaed}.webapp-account{grid-column:2;grid-row:1}}@media(max-width:620px){.webapp-login{background:linear-gradient(180deg,#0c3144 0 12rem,#f2f6f7 12rem)}.webapp-shell{padding:.75rem}.webapp-grid{grid-template-columns:1fr}.webapp-header{padding:.75rem}.webapp-brand>strong{display:none}.webapp-account>span{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.webapp-intro{align-items:flex-start;flex-direction:column;padding:1.6rem .2rem 1.2rem}.webapp-tenant-badge{max-width:100%}.webapp-tile{min-height:7.5rem}.webapp-footer{align-items:flex-start;flex-direction:column}}
@media(hover:none){.webapp-tile{min-height:8.5rem}.webapp-tile:active{transform:scale(.985);background:#f8fbfc}}

.webapp-department-selector {
    position: relative;
    min-width: min(28rem, 46vw);
}

.webapp-department-selector > summary {
    min-height: 3.65rem;
    display: grid;
    place-content: center;
    padding: .55rem 2.75rem .55rem 1rem;
    border: 1px solid #c9d9e0;
    border-radius: .9rem;
    color: #173f52;
    background: #edf4f7;
    cursor: pointer;
    list-style: none;
    touch-action: manipulation;
}

.webapp-department-selector > summary::-webkit-details-marker { display: none; }
.webapp-department-selector > summary::after {
    content: "\25BE";
    position: absolute;
    right: 1rem;
    top: 1.1rem;
    color: #e85a32;
    font-size: 1.15rem;
}

.webapp-department-selector[open] > summary,
.webapp-department-selector > summary:focus-visible {
    border-color: #0e526c;
    box-shadow: 0 0 0 3px rgb(14 82 108 / 16%);
    outline: 0;
}

.webapp-department-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + .55rem);
    left: 50%;
    width: min(34rem, 82vw);
    max-height: min(28rem, 62vh);
    overflow-y: auto;
    transform: translateX(-50%);
    padding: .55rem;
    border: 1px solid #c9d9e0;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 20px 55px rgb(12 49 68 / 22%);
}

.webapp-department-menu form { margin: 0; }
.webapp-department-menu button {
    width: 100%;
    min-height: 3.35rem;
    padding: .75rem 1rem;
    border: 0;
    border-radius: .72rem;
    color: #173f52;
    background: #e7f0f4;
    text-align: left;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    touch-action: manipulation;
}

.webapp-department-menu form + form { margin-top: .35rem; }
.webapp-department-menu button:hover,
.webapp-department-menu button:focus-visible {
    color: #fff;
    background: #167e9f;
    outline: 0;
}

.webapp-department-menu button[aria-current="true"],
.webapp-department-menu button[aria-current="true"]:hover,
.webapp-department-menu button[aria-current="true"]:focus-visible {
    color: #fff;
    background: #0e526c;
    box-shadow: inset 5px 0 0 #e85a32;
    font-weight: 900;
}

@media(max-width:900px) {
    .webapp-department-selector {
        min-width: 100%;
    }
    .webapp-department-menu {
        width: 100%;
    }
}
