.asm-app-shell,
.asm-app-shell * {
    box-sizing: border-box;
}

.asm-app-shell {
    min-height: 100vh;
    width: 100%;
    background: #77c7ad;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    font-family: Arial, Helvetica, sans-serif;
    color: #12211d;
    overflow: hidden;
}

.asm-login-panel,
.asm-dashboard-panel {
    width: 100%;
    background: rgba(255,255,255,0.74);
    border: 1px solid rgba(255,255,255,0.52);
    box-shadow: 0 22px 55px rgba(18,33,29,0.14);
    backdrop-filter: blur(14px);
    border-radius: 24px;
}

.asm-login-panel {
    max-width: 420px;
    padding: 30px 32px;
    text-align: center;
}

.asm-brand-logo {
    display: block;
    max-width: 190px;
    max-height: 72px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 auto 14px;
}

.asm-brand-logo-placeholder {
    width: 150px;
    height: 56px;
    border-radius: 16px;
    margin: 0 auto 14px;
    background: rgba(18,33,29,0.10);
    border: 1px dashed rgba(18,33,29,0.24);
    color: rgba(18,33,29,0.58);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 500;
}

.asm-login-panel h1,
.asm-dashboard-panel h1 {
    margin: 0;
    color: #12211d;
    line-height: 1.15;
    font-weight: 600;
}

.asm-login-panel h1 {
    font-size: 24px;
}

.asm-login-panel p {
    margin: 8px 0 22px;
    color: rgba(18,33,29,0.70);
    font-size: 14px;
    font-weight: 400;
}

#asm-front-login {
    text-align: left;
}

#asm-front-login label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #12211d;
}

#asm-front-login input[type="text"],
#asm-front-login input[type="password"] {
    width: 100%;
    border: 1px solid rgba(18,33,29,0.14);
    border-radius: 13px;
    padding: 12px 14px;
    margin-bottom: 14px;
    outline: none;
    background: rgba(255,255,255,0.92);
    color: #12211d;
    font-size: 14px;
    font-weight: 400;
}

#asm-front-login .login-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
}

#asm-front-login .login-remember label {
    margin: 0;
    font-weight: 400;
}

#asm-front-login input[type="submit"] {
    width: 100%;
    border: none;
    border-radius: 13px;
    background: #12211d;
    color: #ffffff;
    padding: 13px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

#asm-front-login input[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(18,33,29,0.18);
    background: #0b1714;
}

.asm-dashboard-panel {
    max-width: 1120px;
    padding: 24px;
}

.asm-dashboard-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.asm-small-label {
    display: inline-block;
    margin-bottom: 5px;
    color: rgba(18,33,29,0.66);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .10em;
}

.asm-dashboard-panel h1 {
    font-size: 25px;
}

.asm-user-pill {
    min-width: 46px;
    height: 46px;
    border-radius: 16px;
    background: #12211d;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
}

.asm-control-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.asm-control-card {
    min-height: 128px;
    border-radius: 20px;
    background: rgba(255,255,255,0.82);
    border: 1px solid rgba(255,255,255,0.68);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none !important;
    color: #12211d !important;
    font-weight: 500;
    box-shadow: 0 10px 22px rgba(18,33,29,0.07);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.asm-control-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px rgba(18,33,29,0.13);
    background: #ffffff;
}

.asm-control-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: rgba(119,199,173,0.30);
    display: flex;
    align-items: center;
    justify-content: center;
}

.asm-control-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: #12211d;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.asm-control-title {
    font-size: 14px;
    font-weight: 500;
}

@media (max-width: 900px) {
    .asm-app-shell {
        padding: 16px;
        overflow: auto;
    }

    .asm-control-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .asm-control-card {
        min-height: 112px;
    }

    .asm-dashboard-panel h1 {
        font-size: 22px;
    }
}

@media (max-width: 560px) {
    .asm-login-panel,
    .asm-dashboard-panel {
        padding: 20px;
        border-radius: 20px;
    }

    .asm-dashboard-top {
        align-items: flex-start;
    }

    .asm-user-pill {
        display: none;
    }

    .asm-control-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .asm-control-card {
        min-height: 102px;
    }

    .asm-control-icon {
        width: 42px;
        height: 42px;
    }

    .asm-control-icon svg {
        width: 24px;
        height: 24px;
    }
}

.asm-login-alert {
    margin: -8px 0 16px;
    padding: 11px 13px;
    border-radius: 13px;
    background: rgba(185, 28, 28, 0.10);
    border: 1px solid rgba(185, 28, 28, 0.20);
    color: #7f1d1d;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
}

.asm-lock-box {
    margin-top: 14px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(18,33,29,0.08);
    border: 1px solid rgba(18,33,29,0.12);
    text-align: center;
}

.asm-lock-title {
    font-size: 15px;
    font-weight: 600;
    color: #12211d;
    margin-bottom: 8px;
}

.asm-lock-subtitle {
    font-size: 13px;
    font-weight: 400;
    color: rgba(18,33,29,0.68);
    margin-bottom: 10px;
}

.asm-lock-timer {
    font-size: 34px;
    font-weight: 600;
    letter-spacing: .05em;
    color: #12211d;
}

.asm-module-shell {
    align-items: stretch;
    padding: 18px;
}

.asm-module-panel {
    width: 100%;
    max-width: 1180px;
    margin: auto;
    background: rgba(255,255,255,0.78);
    border: 1px solid rgba(255,255,255,0.58);
    box-shadow: 0 22px 55px rgba(18,33,29,0.14);
    backdrop-filter: blur(14px);
    border-radius: 24px;
    padding: 22px;
}

.asm-module-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.asm-module-top h1 {
    margin: 6px 0 4px;
    font-size: 25px;
    font-weight: 600;
    color: #12211d;
}

.asm-module-top p {
    margin: 0;
    font-size: 13px;
    color: rgba(18,33,29,0.68);
}

.asm-back-link {
    font-size: 13px;
    color: #12211d !important;
    text-decoration: none !important;
    font-weight: 500;
}

.asm-module-actions {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}

.asm-module-actions input {
    flex: 1;
    border: 1px solid rgba(18,33,29,0.14);
    border-radius: 13px;
    padding: 12px 14px;
    background: rgba(255,255,255,0.92);
    font-size: 14px;
}

.asm-module-actions button {
    border: 0;
    border-radius: 13px;
    background: #12211d;
    color: #fff;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 500;
}

.asm-data-card {
    background: rgba(255,255,255,0.82);
    border: 1px solid rgba(255,255,255,0.68);
    border-radius: 18px;
    overflow: hidden;
}

.asm-data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.asm-data-table th,
.asm-data-table td {
    padding: 13px 14px;
    text-align: left;
    border-bottom: 1px solid rgba(18,33,29,0.08);
    color: #12211d;
    font-weight: 400;
}

.asm-data-table th {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(18,33,29,0.62);
    font-weight: 600;
    background: rgba(119,199,173,0.18);
}

.asm-data-table tr:last-child td {
    border-bottom: 0;
}

@media (max-width: 700px) {
    .asm-module-shell { overflow: auto; }
    .asm-module-panel { padding: 18px; }
    .asm-module-actions { flex-direction: column; }
    .asm-module-actions button { padding: 12px 14px; }
    .asm-data-card { overflow-x: auto; }
    .asm-data-table { min-width: 640px; }
}

.asm-action-button {
    border: 0;
    border-radius: 13px;
    background: #12211d;
    color: #fff !important;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.asm-table-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: 7px 10px;
    background: rgba(18,33,29,0.09);
    color: #12211d !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500;
}

.asm-data-table strong { font-weight: 600; }
.asm-data-table small { color: rgba(18,33,29,0.62); }

/* ASM Front Portal 3.1.2 - side app shell */
.asm-side-dashboard {
    display: block !important;
    min-height: 100vh !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

.asm-side-nav {
    position: fixed;
    z-index: 30;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 92px;
    max-height: calc(100vh - 34px);
    background: #17bfa9;
    border-radius: 0 24px 24px 0;
    border: 1px solid rgba(255,255,255,0.26);
    border-left: 0;
    box-shadow: 12px 0 34px rgba(18,33,29,0.18);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 7px;
    box-sizing: border-box;
}

.asm-side-logo {
    width: 68px;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 9px;
}

.asm-side-logo .asm-brand-logo {
    max-width: 60px;
    max-height: 40px;
    object-fit: contain;
    margin: 0;
}

.asm-side-logo .asm-brand-logo-placeholder {
    width: 58px;
    height: 34px;
    border-radius: 12px;
    font-size: 9px;
    line-height: 1.1;
    color: rgba(255,255,255,0.86);
    border-color: rgba(255,255,255,0.35);
    background: rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.asm-side-icons {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}

.asm-side-item {
    width: 76px;
    min-height: 56px;
    border: 1px solid #fff;
    border-radius: 17px;
    background: rgba(255,255,255,0.08);
    color: #ffffff !important;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    transition: .18s ease;
    padding: 6px 5px;
    font-family: inherit;
    box-sizing: border-box;
}

.asm-side-item:hover,
.asm-side-item:focus {
    background: rgba(255,255,255,0.22);
    color: #fff !important;
    transform: translateX(2px);
    outline: none;
}

.asm-side-item span {
    width: 23px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.asm-side-item svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.asm-side-item em {
    font-style: normal;
    font-size: 10px;
    line-height: 1.08;
    font-weight: 400;
    text-align: center;
    max-width: 68px;
}

.asm-side-logout {
    margin-top: 4px;
    color: #fff5f5 !important;
}

.asm-side-main {
    min-height: 100vh;
    box-sizing: border-box;
    padding: 36px 36px 36px 126px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #77c7ad;
}

.asm-side-welcome {
    width: min(760px, 100%);
    background: rgba(255,255,255,0.35);
    border: 1px solid rgba(255,255,255,0.42);
    box-shadow: 0 22px 70px rgba(18,33,29,0.12);
    border-radius: 30px;
    padding: 30px;
    backdrop-filter: blur(10px);
}

.asm-side-welcome h1 {
    margin: 5px 0 9px;
    color: #12211d;
    font-size: clamp(28px, 4vw, 54px);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.asm-side-welcome p,
.asm-side-hint p {
    margin: 0;
    color: rgba(18,33,29,0.68);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}

.asm-side-hint {
    width: min(560px, 100%);
    margin-top: 62px;
    display: flex;
    gap: 14px;
    align-items: center;
    background: rgba(18,33,29,0.10);
    border: 1px solid rgba(18,33,29,0.10);
    border-radius: 22px;
    padding: 17px;
}

.asm-side-hint strong {
    display: block;
    color: #12211d;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 3px;
}

.asm-hint-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.35);
    color: #12211d;
    flex: 0 0 auto;
}

.asm-hint-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.asm-module-modal {
    position: fixed;
    z-index: 25;
    top: 62px;
    right: 18px;
    bottom: 24px;
    left: 112px;
    display: none;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 28px 90px rgba(18,33,29,0.28);
    border: 1px solid rgba(255,255,255,0.75);
}

.asm-module-modal.is-open {
    display: flex;
    flex-direction: column;
}

.asm-module-modal-head {
    height: 54px;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 14px 0 20px;
    background: #17bfa9;
    color: #fff;
    box-sizing: border-box;
}

.asm-module-modal-head strong {
    font-size: 15px;
    font-weight: 500;
}

#asmModuleClose {
    border: 0;
    border-radius: 12px;
    background: rgba(255,255,255,0.18);
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    padding: 9px 12px;
    cursor: pointer;
}

#asmModuleClose:hover {
    background: rgba(255,255,255,0.28);
}

#asmModuleFrame {
    width: 100%;
    height: 100%;
    border: 0;
    background: #f5f7f6;
}

@media (max-height: 720px) {
    .asm-side-nav {
        max-height: calc(100vh - 16px);
        border-radius: 0 20px 20px 0;
        padding: 8px 6px;
    }
    .asm-side-logo { display: none; }
    .asm-side-item { min-height: 50px; }
    .asm-side-item em { font-size: 9px; }
}

@media (max-width: 760px) {
    .asm-side-nav { width: 76px; padding: 9px 5px; }
    .asm-side-item { width: 64px; min-height: 56px; border-radius: 15px; }
    .asm-side-item em { font-size: 9.5px; max-width: 58px; }
    .asm-side-main { padding: 18px 18px 18px 92px; }
    .asm-module-modal { left: 86px; top: 56px; right: 10px; bottom: 18px; border-radius: 18px; }
    .asm-side-welcome { padding: 22px; border-radius: 24px; }
}

/* ASM Front Portal 3.1.4 - compact icon rail + tooltips + copyright */
.asm-side-nav {
    width: 72px !important;
    padding: 10px 6px !important;
    border-color: #fff !important;
    border-width: 1px !important;
}

.asm-side-logo {
    width: 58px !important;
    min-height: 46px !important;
    margin-bottom: 8px !important;
}

.asm-side-logo .asm-brand-logo {
    max-width: 50px !important;
    max-height: 38px !important;
}

.asm-side-logo .asm-brand-logo-placeholder {
    width: 50px !important;
    height: 34px !important;
    font-size: 8px !important;
}

.asm-side-icons {
    gap: 5px !important;
    overflow: visible !important;
    padding-right: 0 !important;
}

.asm-side-item {
    width: 54px !important;
    min-height: 48px !important;
    height: 48px !important;
    border: 1px solid #fff !important;
    border-radius: 15px !important;
    padding: 0 !important;
    position: relative !important;
    flex-direction: row !important;
    gap: 0 !important;
}

.asm-side-item span {
    width: 24px !important;
    height: 24px !important;
}

.asm-side-item svg {
    width: 23px !important;
    height: 23px !important;
}

.asm-side-item em {
    position: absolute !important;
    left: 64px !important;
    top: 50% !important;
    transform: translateY(-50%) translateX(-4px) !important;
    z-index: 100 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    max-width: none !important;
    background: #12211d !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    box-shadow: 0 10px 28px rgba(18,33,29,0.22) !important;
    transition: .16s ease !important;
}

.asm-side-item:hover em,
.asm-side-item:focus em {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(-50%) translateX(0) !important;
}

.asm-side-item:hover,
.asm-side-item:focus {
    transform: translateX(3px) !important;
}

.asm-side-item.is-active {
    background: #ffffff !important;
    color: #17bfa9 !important;
    border-color: #ffffff !important;
}

.asm-side-item.is-active svg {
    stroke: #17bfa9 !important;
}

.asm-side-main {
    padding-left: 104px !important;
    position: relative !important;
}

.asm-module-modal {
    left: 88px !important;
    top: 70px !important;
}

.asm-copyright {
    position: fixed;
    left: 104px;
    right: 28px;
    bottom: 18px;
    text-align: center;
    color: rgba(18,33,29,0.66);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .01em;
}

@media (max-width: 820px) {
    .asm-side-nav { width: 66px !important; padding: 8px 5px !important; }
    .asm-side-item { width: 52px !important; min-height: 46px !important; height: 46px !important; }
    .asm-side-main { padding-left: 86px !important; }
    .asm-module-modal { left: 78px !important; top: 62px !important; right: 10px !important; bottom: 14px !important; }
    .asm-copyright { left: 86px; right: 14px; bottom: 12px; font-size: 11px; }
}


/* ASM Front Portal 3.2.1 - desktop workspace, top bar and animations */
.asm-desktop-app.asm-side-dashboard {
    background: #77c7ad !important;
}

.asm-desktop-app .asm-side-nav {
    z-index: 50 !important;
    box-shadow: 14px 0 36px rgba(18,33,29,0.18) !important;
}

.asm-desktop-app .asm-side-logo {
    text-decoration: none !important;
}

.asm-desktop-app .asm-side-item::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 9px;
    bottom: 9px;
    width: 3px;
    border-radius: 0 6px 6px 0;
    background: #fff;
    opacity: 0;
    transform: scaleY(.4);
    transition: .18s ease;
}

.asm-desktop-app .asm-side-item.is-active::before {
    opacity: 1;
    transform: scaleY(1);
}

.asm-desktop-app .asm-side-main {
    display: block !important;
    padding: 18px 18px 18px 104px !important;
    min-height: 100vh !important;
    background: #77c7ad !important;
}

.asm-top-bar {
    height: 52px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    padding: 0 14px;
    border-radius: 20px;
    background: rgba(255,255,255,0.34);
    border: 1px solid rgba(255,255,255,0.45);
    box-shadow: 0 14px 34px rgba(18,33,29,0.10);
    backdrop-filter: blur(10px);
}

.asm-top-search {
    width: min(420px, 46vw);
    height: 36px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 12px;
    border-radius: 14px;
    background: rgba(255,255,255,0.74);
    border: 1px solid rgba(255,255,255,0.58);
    color: rgba(18,33,29,0.66);
}

.asm-top-search svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.asm-top-search input {
    width: 100%;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    color: #12211d !important;
    font-size: 13px !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.asm-top-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(18,33,29,0.72);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.asm-top-user {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 13px;
    background: rgba(18,33,29,0.12);
    color: #12211d;
}

.asm-home-panel {
    min-height: calc(100vh - 84px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.asm-home-panel.is-hidden {
    opacity: 0;
    transform: translateY(10px);
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    inset: 84px 18px 18px 104px;
}

.asm-desktop-app .asm-side-welcome {
    animation: asmFpSoftIn .28s ease both;
}

.asm-desktop-app .asm-side-hint {
    margin-top: 22px !important;
    animation: asmFpSoftIn .34s ease both;
}

.asm-desktop-app .asm-copyright {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 14px !important;
    text-align: center !important;
}

.asm-workspace {
    display: none;
    height: calc(100vh - 84px);
    width: 100%;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.75);
    box-shadow: 0 26px 80px rgba(18,33,29,0.22);
    opacity: 0;
    transform: scale(.985) translateY(8px);
}

.asm-workspace.is-open {
    display: flex;
    flex-direction: column;
    animation: asmFpWorkspaceIn .24s ease forwards;
}

.asm-workspace-head {
    height: 50px;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 13px 0 18px;
    background: #109c8a;
    color: #fff;
}

.asm-workspace-head strong {
    font-size: 14px;
    font-weight: 500;
}

.asm-workspace iframe {
    width: 100%;
    height: 100%;
    border: 0;
    background: #f5f7f6;
}

.asm-workspace #asmModuleClose,
#asmModuleClose {
    border: 0;
    border-radius: 12px;
    background: rgba(255,255,255,0.18);
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    padding: 9px 12px;
    cursor: pointer;
    transition: .18s ease;
}

.asm-workspace #asmModuleClose:hover,
#asmModuleClose:hover {
    background: rgba(255,255,255,0.30);
}

@keyframes asmFpWorkspaceIn {
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes asmFpSoftIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 820px) {
    .asm-desktop-app .asm-side-main { padding: 12px 10px 12px 86px !important; }
    .asm-top-bar { height: auto; min-height: 50px; flex-wrap: wrap; padding: 8px; border-radius: 18px; }
    .asm-top-search { width: 100%; }
    .asm-top-meta { width: 100%; justify-content: space-between; font-size: 12px; }
    .asm-workspace { height: calc(100vh - 118px); border-radius: 18px; }
    .asm-home-panel { min-height: calc(100vh - 118px); }
    .asm-home-panel.is-hidden { inset: 118px 10px 10px 86px; }
}


/* ASM Front Portal 3.2.1 - maksimalan radni prostor i logo iz ASM postavki */
.asm-desktop-app .asm-side-main {
    padding: 10px 10px 10px 86px !important;
}

.asm-desktop-app .asm-side-nav {
    left: 0 !important;
}

.asm-top-bar {
    height: 46px !important;
    min-height: 46px !important;
    margin-bottom: 8px !important;
    border-radius: 16px !important;
}

.asm-workspace {
    width: 100% !important;
    max-width: none !important;
    height: calc(100vh - 64px) !important;
    min-height: calc(100vh - 64px) !important;
    border-radius: 18px !important;
}

.asm-workspace iframe {
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

.asm-home-panel {
    min-height: calc(100vh - 64px) !important;
}

.asm-home-panel.is-hidden {
    inset: 64px 10px 10px 86px !important;
}

.asm-side-logo .asm-brand-logo {
    max-width: 52px !important;
    max-height: 40px !important;
    background: rgba(255,255,255,0.92);
    border-radius: 10px;
    padding: 3px;
}

.asm-top-search input::placeholder {
    color: rgba(18,33,29,0.55) !important;
}

@media (max-width: 820px) {
    .asm-desktop-app .asm-side-main { padding: 8px 8px 8px 78px !important; }
    .asm-workspace { height: calc(100vh - 108px) !important; min-height: calc(100vh - 108px) !important; }
    .asm-home-panel { min-height: calc(100vh - 108px) !important; }
    .asm-home-panel.is-hidden { inset: 108px 8px 8px 78px !important; }
}

/* ASM Front Portal 3.2.2 - statistike u gornjoj traci i puni centralni panel */
.asm-desktop-app .asm-side-main {
    padding: 8px 8px 8px 76px !important;
}

.asm-top-stats-bar {
    height: 58px !important;
    min-height: 58px !important;
    margin-bottom: 8px !important;
    padding: 0 10px !important;
    gap: 10px !important;
}

.asm-top-stats {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
}

.asm-stat-pill {
    height: 42px;
    min-width: 135px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border-radius: 15px;
    background: rgba(255,255,255,0.78);
    border: 1px solid rgba(255,255,255,0.78);
    color: #12211d;
    box-shadow: 0 8px 20px rgba(18,33,29,0.08);
}

.asm-stat-icon {
    width: 26px;
    height: 26px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(23,191,169,0.15);
    color: #109c8a;
    flex: 0 0 auto;
}

.asm-stat-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.asm-stat-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.asm-stat-text em {
    font-style: normal;
    font-size: 10.5px;
    font-weight: 400;
    opacity: .68;
    white-space: nowrap;
}

.asm-stat-text strong {
    margin-top: 3px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.02em;
}

.asm-top-meta {
    flex: 0 0 auto;
}

.asm-workspace {
    width: 100% !important;
    max-width: none !important;
    height: calc(100vh - 74px) !important;
    min-height: calc(100vh - 74px) !important;
    margin: 0 !important;
}

.asm-home-panel {
    min-height: calc(100vh - 74px) !important;
}

.asm-home-panel.is-hidden {
    inset: 74px 8px 8px 76px !important;
}

@media (max-width: 920px) {
    .asm-top-stats-bar {
        height: auto !important;
        min-height: 58px !important;
        flex-wrap: wrap;
        padding: 8px !important;
    }
    .asm-top-stats {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 2px;
    }
    .asm-stat-pill {
        min-width: 125px;
    }
    .asm-workspace { height: calc(100vh - 126px) !important; min-height: calc(100vh - 126px) !important; }
    .asm-home-panel { min-height: calc(100vh - 126px) !important; }
    .asm-home-panel.is-hidden { inset: 126px 8px 8px 76px !important; }
}


/* ASM Front Portal 4.0.0 - final UI: proširen centralni panel, zaobljen izgled i fullscreen */
.asm-desktop-app.asm-side-dashboard {
    min-height: 100vh !important;
    height: 100vh !important;
    overflow: hidden !important;
}

.asm-desktop-app .asm-side-nav {
    width: 72px !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-radius: 0 24px 24px 0 !important;
}

.asm-desktop-app .asm-side-main {
    width: 100vw !important;
    max-width: none !important;
    min-height: 100vh !important;
    height: 100vh !important;
    padding: 16px 18px 18px 90px !important; /* 72px traka + 18px razmak */
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
}

.asm-top-stats-bar,
.asm-top-bar {
    width: 100% !important;
    max-width: none !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 0 14px 0 !important;
    border-radius: 20px !important;
}

.asm-workspace {
    width: 100% !important;
    max-width: none !important;
    height: calc(100vh - 106px) !important; /* top padding + top bar + gap + bottom padding */
    min-height: calc(100vh - 106px) !important;
    margin: 0 !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 35px rgba(0,0,0,.08), 0 24px 70px rgba(18,33,29,0.12) !important;
    border: 1px solid rgba(255,255,255,0.78) !important;
    transform: translateY(8px) !important;
}

.asm-workspace.is-open {
    animation: asmFpWorkspaceWideIn .25s ease forwards !important;
}

@keyframes asmFpWorkspaceWideIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.asm-workspace-head {
    height: 52px !important;
    min-height: 52px !important;
    background: #109c8a !important;
}

.asm-workspace-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#asmModuleFullscreen {
    width: 38px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.18) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    transition: .18s ease !important;
    padding: 0 !important;
}

#asmModuleFullscreen:hover {
    background: rgba(255,255,255,0.30) !important;
}

#asmModuleFullscreen svg {
    width: 19px !important;
    height: 19px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.asm-workspace iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
}

.asm-home-panel {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100vh - 106px) !important;
}

.asm-home-panel.is-hidden {
    inset: 88px 18px 18px 90px !important;
}

.asm-fullscreen-mode .asm-side-nav,
.asm-fullscreen-mode .asm-top-stats-bar,
.asm-fullscreen-mode .asm-top-bar {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-50%) translateX(-78px) !important;
}

.asm-fullscreen-mode .asm-side-main {
    padding: 10px !important;
}

.asm-fullscreen-mode .asm-workspace {
    height: calc(100vh - 20px) !important;
    min-height: calc(100vh - 20px) !important;
    border-radius: 20px !important;
}

.asm-fullscreen-mode .asm-home-panel.is-hidden {
    inset: 10px !important;
}

@media (max-width: 920px) {
    .asm-desktop-app .asm-side-main {
        padding: 12px 10px 12px 82px !important;
    }
    .asm-top-stats-bar,
    .asm-top-bar {
        height: auto !important;
        min-height: 58px !important;
        margin-bottom: 10px !important;
    }
    .asm-workspace {
        height: calc(100vh - 102px) !important;
        min-height: calc(100vh - 102px) !important;
        border-radius: 18px !important;
    }
    .asm-home-panel {
        min-height: calc(100vh - 102px) !important;
    }
    .asm-home-panel.is-hidden {
        inset: 84px 10px 12px 82px !important;
    }
}

/* ASM Front Portal 4.0.1 - Enterprise full viewport layout */
.asm-dashboard-shell.asm-desktop-app {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    z-index: 999999 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #77c7ad !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-side-main {
    position: absolute !important;
    left: 90px !important;      /* 72px rail + 18px gap */
    right: 18px !important;
    top: 16px !important;
    bottom: 18px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    background: transparent !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-top-stats-bar,
.asm-dashboard-shell.asm-desktop-app .asm-top-bar {
    flex: 0 0 58px !important;
    width: 100% !important;
    max-width: none !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 0 14px 0 !important;
    padding: 0 14px !important;
    align-self: stretch !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-home-panel {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 32px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,0.34) !important;
    border: 1px solid rgba(255,255,255,0.62) !important;
    box-shadow: 0 10px 35px rgba(0,0,0,.08), 0 24px 70px rgba(18,33,29,0.10) !important;
    backdrop-filter: blur(10px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    position: relative !important;
    overflow: hidden !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-home-panel.is-hidden {
    display: none !important;
    position: static !important;
    inset: auto !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-side-welcome {
    width: min(720px, 100%) !important;
    margin: 0 !important;
    align-self: flex-start !important;
    background: rgba(255,255,255,0.38) !important;
    border-radius: 24px !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-side-hint {
    width: min(620px, 100%) !important;
    margin: 22px 0 0 0 !important;
    align-self: flex-start !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-copyright {
    position: absolute !important;
    left: 32px !important;
    right: 32px !important;
    bottom: 18px !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-workspace {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 35px rgba(0,0,0,.08), 0 24px 70px rgba(18,33,29,0.12) !important;
    border: 1px solid rgba(255,255,255,0.78) !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-workspace.is-open {
    display: flex !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-workspace iframe {
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

.asm-dashboard-shell.asm-fullscreen-mode .asm-side-main {
    left: 10px !important;
    right: 10px !important;
    top: 10px !important;
    bottom: 10px !important;
}

.asm-dashboard-shell.asm-fullscreen-mode .asm-workspace {
    height: auto !important;
    min-height: 0 !important;
}

@media (max-width: 920px) {
    .asm-dashboard-shell.asm-desktop-app .asm-side-main {
        left: 82px !important;
        right: 10px !important;
        top: 12px !important;
        bottom: 12px !important;
    }
    .asm-dashboard-shell.asm-desktop-app .asm-top-stats-bar,
    .asm-dashboard-shell.asm-desktop-app .asm-top-bar {
        flex-basis: auto !important;
        height: auto !important;
        min-height: 58px !important;
        margin-bottom: 10px !important;
        flex-wrap: wrap !important;
        padding: 8px !important;
    }
    .asm-dashboard-shell.asm-desktop-app .asm-home-panel {
        padding: 20px !important;
        border-radius: 18px !important;
    }
    .asm-dashboard-shell.asm-desktop-app .asm-copyright {
        left: 20px !important;
        right: 20px !important;
    }
}


/* ASM Front Portal 4.0.2 - stvarno puna širina radnog panela */
html:has(.asm-dashboard-shell.asm-desktop-app),
body:has(.asm-dashboard-shell.asm-desktop-app) {
    margin: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
}

.asm-dashboard-shell.asm-desktop-app,
.asm-dashboard-shell.asm-desktop-app * {
    box-sizing: border-box !important;
}

.asm-dashboard-shell.asm-desktop-app {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-width: 100vw !important;
    min-height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #77c7ad !important;
}

/* Sidebar ostaje odvojen i fiksiran lijevo */
.asm-dashboard-shell.asm-desktop-app .asm-side-nav {
    position: fixed !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 72px !important;
    z-index: 1000002 !important;
}

/* Glavni prostor ide od trake do desnog ruba ekrana */
.asm-dashboard-shell.asm-desktop-app .asm-side-main {
    position: fixed !important;
    left: 90px !important;   /* 72px traka + 18px razmak */
    right: 18px !important;
    top: 16px !important;
    bottom: 18px !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    background: transparent !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-top-stats-bar,
.asm-dashboard-shell.asm-desktop-app .asm-top-bar {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 0 14px 0 !important;
    align-self: stretch !important;
}

/* Ovo je ključ: panel više nije centriran card, nego zauzima sav preostali prostor */
.asm-dashboard-shell.asm-desktop-app .asm-workspace,
.asm-dashboard-shell.asm-desktop-app .asm-home-panel {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 20px !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-workspace {
    display: none !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 10px 35px rgba(0,0,0,.08), 0 24px 70px rgba(18,33,29,0.12) !important;
    border: 1px solid rgba(255,255,255,0.78) !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-workspace.is-open {
    display: flex !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-workspace-head {
    flex: 0 0 52px !important;
    height: 52px !important;
    min-height: 52px !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-workspace iframe {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-home-panel.is-hidden {
    display: none !important;
}

.asm-dashboard-shell.asm-desktop-app .asm-side-welcome,
.asm-dashboard-shell.asm-desktop-app .asm-side-hint {
    max-width: none !important;
}

.asm-dashboard-shell.asm-fullscreen-mode .asm-side-main {
    left: 10px !important;
    right: 10px !important;
    top: 10px !important;
    bottom: 10px !important;
}

@media (max-width: 920px) {
    .asm-dashboard-shell.asm-desktop-app .asm-side-main {
        left: 82px !important;
        right: 10px !important;
        top: 10px !important;
        bottom: 10px !important;
    }
}

/* ASM Front Portal 4.0.6 - UI Stable profile fix */
.asm-desktop-app .asm-side-main{position:fixed!important;left:90px!important;right:18px!important;top:18px!important;bottom:18px!important;width:auto!important;height:auto!important;padding:0!important;overflow:visible!important;z-index:1!important;}
.asm-top-bar{position:relative!important;z-index:5000!important;width:100%!important;margin:0 0 14px!important;}
.asm-home-panel,.asm-workspace,.asm-profile-workspace{position:absolute!important;left:0!important;right:0!important;top:82px!important;bottom:0!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;border-radius:20px!important;box-shadow:0 10px 35px rgba(0,0,0,.08)!important;overflow:hidden!important;z-index:10!important;}
.asm-profile-workspace{display:none!important;flex-direction:column!important;background:#fff!important;pointer-events:none!important;}
.asm-profile-workspace.is-open{display:flex!important;pointer-events:auto!important;animation:asmFpWorkspaceIn .24s ease forwards;}
.asm-workspace iframe{width:100%!important;height:calc(100% - 58px)!important;border:0!important;display:block!important;background:#fff!important;}
.asm-profile-panel-inner{height:calc(100% - 58px)!important;overflow:auto!important;background:#fff!important;padding:22px!important;}
.asm-side-nav{z-index:6000!important;}
.asm-side-logo{cursor:pointer;}
.asm-side-item.is-active{box-shadow:0 0 0 1px rgba(255,255,255,.8),0 10px 24px rgba(255,255,255,.18)!important;}
.asm-top-user{position:relative!important;min-height:44px!important;height:44px!important;max-height:44px!important;padding:4px 10px 4px 5px!important;border:0!important;cursor:pointer!important;}
.asm-top-avatar{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;min-width:40px!important;min-height:40px!important;border-radius:50%!important;object-fit:cover!important;display:block!important;border:2px solid rgba(255,255,255,.82)!important;}
.asm-top-user .asm-top-avatar{position:relative;}
.asm-top-user:after{content:"";position:absolute;left:34px;bottom:6px;width:9px;height:9px;border-radius:50%;background:#22c55e;border:2px solid #fff;}
.asm-top-user span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;}
.asm-top-user span em{font-style:normal;font-size:10px;font-weight:500;opacity:.65;margin-top:3px;}
.asm-user-menu-wrap{position:relative!important;z-index:10000!important;}
.asm-user-dropdown{position:absolute!important;top:calc(100% + 12px)!important;right:0!important;width:220px!important;min-width:220px!important;max-width:220px!important;background:#fff!important;border:1px solid rgba(18,33,29,.08)!important;border-radius:16px!important;box-shadow:0 18px 50px rgba(0,0,0,.18)!important;z-index:999999!important;padding:10px!important;opacity:0!important;visibility:hidden!important;transform:translateY(-6px) scale(.97)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;}
.asm-user-dropdown.is-open{opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important;}
.asm-user-dropdown:before{content:"";position:absolute;right:20px;top:-8px;width:16px;height:16px;background:#fff;border-left:1px solid rgba(18,33,29,.08);border-top:1px solid rgba(18,33,29,.08);transform:rotate(45deg);}
.asm-user-dropdown-head{display:flex;align-items:center;gap:10px;padding:8px 8px 12px;border-bottom:1px solid #eef2f1;margin-bottom:7px;}
.asm-dropdown-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #17bfa9;}
.asm-user-dropdown-head div{display:flex;flex-direction:column;line-height:1.15;}
.asm-user-dropdown-head strong{font-size:14px;color:#12211d;}
.asm-user-dropdown-head span{font-size:11px;color:#6b7774;margin-top:4px;}
.asm-user-dropdown button,.asm-user-dropdown a{position:relative;display:flex!important;width:100%;align-items:center;gap:8px;text-align:left;padding:11px 12px!important;border:0!important;background:transparent!important;border-radius:12px!important;color:#12211d!important;text-decoration:none!important;font-size:13px!important;font-weight:500!important;cursor:pointer!important;}
.asm-user-dropdown button:hover,.asm-user-dropdown a:hover{background:#f3fbf9!important;color:#0f927f!important;}
.asm-module-loader{position:absolute;left:0;right:0;top:58px;bottom:0;background:rgba(255,255,255,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:50;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;}
.asm-module-loader.is-visible{opacity:1;visibility:visible;}
.asm-loader-logo{width:74px;height:74px;border-radius:24px;background:#17bfa9;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.08em;box-shadow:0 14px 35px rgba(23,191,169,.28);}
.asm-module-loader span{font-size:13px;color:#51605d;font-weight:600;}
.asm-module-loader em{width:48px;height:10px;display:block;position:relative;}
.asm-module-loader em:before,.asm-module-loader em:after{content:"";position:absolute;top:2px;width:7px;height:7px;border-radius:50%;background:#17bfa9;animation:asmLoaderDots .75s infinite alternate;}
.asm-module-loader em:before{left:12px;}.asm-module-loader em:after{right:12px;animation-delay:.25s;}
@keyframes asmLoaderDots{from{opacity:.35;transform:translateY(0)}to{opacity:1;transform:translateY(-4px)}}
.asm-enterprise-footer{position:absolute;left:24px;right:24px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0 0;border-top:1px solid #e9ecef;color:#7a7a7a;font-size:12px;z-index:2;}
.asm-enterprise-footer div{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.asm-enterprise-footer strong{color:#12211d;font-weight:600;}.asm-enterprise-footer a{color:#17bfa9;text-decoration:none;font-weight:600}.asm-enterprise-footer a:hover{color:#129b89}.asm-system-online{color:#17bfa9;font-weight:600;}
.asm-about-modal{position:fixed;inset:0;background:rgba(18,33,29,.32);display:flex;align-items:center;justify-content:center;z-index:9999999;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;}
.asm-about-modal.is-open{opacity:1;visibility:visible;}
.asm-about-card{position:relative;width:min(420px,calc(100vw - 34px));background:#fff;border-radius:24px;padding:30px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.24);transform:translateY(8px) scale(.97);transition:transform .18s ease;}
.asm-about-modal.is-open .asm-about-card{transform:translateY(0) scale(1);}
.asm-about-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:12px;background:#f2f6f5;color:#12211d;font-size:22px;line-height:1;cursor:pointer;}
.asm-about-logo .asm-brand-logo,.asm-about-logo .asm-brand-logo-placeholder{margin:0 auto 16px;max-width:150px;max-height:62px;}
.asm-about-card h2{margin:0;color:#12211d;font-size:25px;font-weight:700}.asm-about-card p{margin:6px 0 12px;color:#6b7774}.asm-about-card>strong{display:inline-flex;background:#ecfbf8;color:#109c8a;border-radius:999px;padding:7px 12px;font-size:12px}.asm-about-divider{height:1px;background:#edf2f1;margin:20px 0}.asm-about-card span{display:block;color:#7a7a7a;font-size:12px}.asm-about-card h3{margin:4px 0 6px;color:#12211d;font-size:20px}.asm-about-card a{color:#17bfa9;font-weight:700;text-decoration:none}.asm-about-card small{display:block;margin-top:16px;color:#9aa4a1}
@media(max-width:900px){.asm-enterprise-footer{left:16px;right:16px;bottom:12px;align-items:flex-start;flex-direction:column;font-size:11px}.asm-home-panel,.asm-workspace,.asm-profile-workspace{top:112px!important}.asm-top-user span em{display:none}}


/* ASM Front Portal 4.0.6 - profile module safety */
.asm-profile-workspace .asm-user-profile-card,
.asm-profile-workspace .asm-profile-card{max-width:820px!important;margin:36px auto!important;}
.asm-profile-workspace img{max-width:100%!important;height:auto;}
.asm-profile-workspace .asm-profile-avatar img,
.asm-profile-workspace .asm-user-profile-avatar img,
.asm-profile-workspace img.asm-profile-photo{width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important;border-radius:50%!important;object-fit:cover!important;}
.asm-side-profile{margin-top:4px!important;}


/* ASM Front Portal 4.0.7 - tooltip fix: active/clicked icons must not keep tooltip visible */
.asm-side-item.is-active em,
.asm-side-item.is-active:hover em,
.asm-side-item.is-active:focus em,
.asm-side-item.is-active:focus-visible em,
.asm-side-item:active em {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-50%) translateX(-4px) !important;
}
