:root {
            --primary: #0b2a4a;
            --primary-2: #0f5f9c;
            --primary-soft: #eaf4fc;
            --accent: #f5c518;
            --accent-soft: #fff7d1;
            --bg: #edf3f9;
            --surface: #ffffff;
            --surface-2: #f7fafd;
            --text: #172033;
            --muted: #6b7b91;
            --line: #dce5ef;
            --success: #159766;
            --danger: #d94c4c;
            --radius-sm: 12px;
            --radius-md: 18px;
            --radius-lg: 26px;
            --shadow-sm: 0 8px 24px rgba(16, 48, 82, .07);
            --shadow-md: 0 18px 50px rgba(16, 48, 82, .11);
        }

        * { box-sizing: border-box; }

        html, body { -webkit-text-size-adjust: 100%; }

        body {
            margin: 0;
            min-height: 100vh;
            color: var(--text);
            background:
                radial-gradient(circle at 90% 0%, rgba(58, 174, 216, .12), transparent 26%),
                radial-gradient(circle at 8% 100%, rgba(245, 197, 24, .10), transparent 24%),
                var(--bg);
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        button, input, select { font: inherit; }
        button { -webkit-tap-highlight-color: transparent; }

        .hidden { display: none !important; }

        .shell {
            width: 100%;
            max-width: 1540px;
            margin: 0 auto;
            padding: 18px;
        }

        .card { width: 100%; }

        .card-header {
            position: relative;
            z-index: 20;
            overflow: hidden;
            background: rgba(255, 255, 255, .94);
            border: 1px solid rgba(211, 223, 235, .9);
            border-radius: 18px;
            box-shadow: var(--shadow-sm);
            backdrop-filter: blur(16px);
        }

        .app-topbar {
            min-height: 52px;
            padding: 7px 14px;
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: max-content;
        }

        .brand-mark {
            width: 34px;
            height: 34px;
            border-radius: 11px;
            display: block;
            position: relative;
            overflow: hidden;
            background: #ffffff;
            box-shadow: 0 10px 24px rgba(11, 42, 74, .22);
        }

        .brand-mark::after {
            content: "";
            position: absolute;
            inset: 0;
            border: 1px solid rgba(11, 42, 74, .14);
            border-radius: inherit;
            pointer-events: none;
        }

        .brand-mark img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
        .brand-title { font-size: 16px; font-weight: 800; letter-spacing: -.02em; color: var(--primary); }
        .brand-title em { color: var(--primary-2); font-style: normal; }
        .brand-sub { margin-top: 5px; font-size: 11px; color: var(--muted); display:none; }
        .card-header:hover .app-topbar,
        .card-header:focus-within .app-topbar { min-height:76px; padding:13px 20px; }
        .card-header:hover .brand-mark,
        .card-header:focus-within .brand-mark { width:48px; height:48px; border-radius:15px; }
        .card-header:hover .brand-title,
        .card-header:focus-within .brand-title { font-size:21px; }
        .card-header:hover .brand-sub,
        .card-header:focus-within .brand-sub { display:block; }

        .topbar-spacer { flex: 1; }

        .connection-chip {
            display: none;
            align-items: center;
            gap: 7px;
            padding: 8px 11px;
            border-radius: 999px;
            color: #32765c;
            background: #edf9f4;
            border: 1px solid #cfeede;
            font-size: 11px;
            font-weight: 700;
        }
        .connection-chip::before {
            content: "";
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #23b77a;
            box-shadow: 0 0 0 4px rgba(35, 183, 122, .11);
        }

        .top-user {
            display: flex;
            align-items: center;
            gap: 10px;
            min-width: 0;
        }
        .top-user-copy { text-align: right; min-width: 0; }
        .top-user-copy strong {
            display: block;
            max-width: 220px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: var(--primary);
            font-size: 12px;
        }
        .top-user-copy span { display: none; margin-top: 2px; color: var(--muted); font-size: 10px; }
        .avatar {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            background: linear-gradient(145deg, var(--accent), #ffd95a);
            color: var(--primary);
            font-size: 13px;
            font-weight: 900;
            border: 3px solid #fff;
            box-shadow: 0 5px 15px rgba(13, 46, 78, .16);
        }

        .step-indicator {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 8px 10px;
            border: 1px solid var(--line);
            background: var(--surface-2);
            border-radius: 999px;
        }
        .step-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #cdd8e5;
            transition: .2s ease;
        }
        .step-dot.active {
            width: 23px;
            border-radius: 999px;
            background: linear-gradient(90deg, var(--primary-2), #21a6c8);
        }

        .app-nav {
            max-height: 0;
            padding: 0 12px;
            display: flex;
            opacity: 0;
            pointer-events: none;
            align-items: center;
            gap: 7px;
            overflow-x: auto;
            scrollbar-width: none;
            overflow-y: hidden;
            transition: max-height .18s ease, opacity .18s ease, padding .18s ease;
        }
        .card-header:hover .app-nav,
        .card-header:focus-within .app-nav {
            max-height: 58px;
            padding: 0 18px 13px;
            opacity: 1;
            pointer-events: auto;
        }
        .app-nav::-webkit-scrollbar { display: none; }
        .nav-btn {
            flex: 0 0 auto;
            border: 0;
            border-radius: 10px;
            padding: 9px 13px;
            background: transparent;
            color: #54677e;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            transition: .18s ease;
        }
        .nav-btn:hover { color: var(--primary); background: var(--primary-soft); }
        .nav-btn.active { color: #fff; background: var(--primary); box-shadow: 0 8px 18px rgba(11, 42, 74, .16); }
        .nav-btn.nav-exit { margin-left: auto; color: #a44646; }
        .nav-btn.nav-exit:hover { background: #fff0f0; }

        .screen { display: none; }
        .screen.active { display: block; animation: screenIn .22s ease both; }
        @keyframes screenIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

        .card > .screen:not(#screen-login):not(#screen-device-auth):not(#screen-menu):not(#screen-financeiro) {
            width: min(100%, 920px);
            margin: 18px auto 0;
            padding: 24px;
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm);
        }
        #screen-rel-dynamic { width: min(100%, 1320px); }

        /* Login */
        .login-screen { margin-top: 18px; }
        .login-layout {
            min-height: 580px;
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
            overflow: hidden;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 28px;
            box-shadow: var(--shadow-md);
        }
        .login-hero {
            position: relative;
            overflow: hidden;
            padding: 58px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            color: #fff;
            background:
                linear-gradient(135deg, rgba(5, 31, 57, .96), rgba(13, 95, 156, .90)),
                radial-gradient(circle at 10% 10%, #27b6c8, transparent 45%);
        }
        .login-hero::before,
        .login-hero::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,.15);
        }
        .login-hero::before { width: 360px; height: 360px; right: -120px; top: -130px; }
        .login-hero::after { width: 230px; height: 230px; right: 45px; top: 35px; background: rgba(255,255,255,.045); }
        .hero-kicker {
            position: relative;
            z-index: 1;
            display: inline-flex;
            width: fit-content;
            padding: 7px 11px;
            border-radius: 999px;
            background: rgba(255,255,255,.12);
            border: 1px solid rgba(255,255,255,.18);
            color: #fff4b8;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .06em;
            text-transform: uppercase;
        }
        .login-hero h1 { position: relative; z-index: 1; margin: 20px 0 12px; max-width: 600px; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.02; letter-spacing: -.045em; }
        .login-hero p { position: relative; z-index: 1; max-width: 570px; margin: 0; color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.6; }
        .hero-features { position: relative; z-index: 1; margin-top: 28px; display: flex; flex-wrap: wrap; gap: 10px; }
        .hero-features span { padding: 8px 11px; border-radius: 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); font-size: 11px; }

        .login-panel { padding: 54px 48px; display: flex; flex-direction: column; justify-content: center; }
        .login-panel h2 { margin: 0; color: var(--primary); font-size: 27px; letter-spacing: -.03em; }
        .login-panel > p { margin: 8px 0 28px; color: var(--muted); font-size: 13px; line-height: 1.55; }
        .secure-note { margin-top: 16px; color: #8190a4; text-align: center; font-size: 10px; }

        /* Autorização do navegador */
        #screen-device-auth { margin-top: 18px; }
        .device-auth-wrap {
            min-height: 500px;
            display: grid;
            place-items: center;
            padding: 34px;
            background:
                radial-gradient(circle at 12% 10%, rgba(35, 174, 194, .12), transparent 28%),
                radial-gradient(circle at 92% 90%, rgba(245, 197, 24, .13), transparent 26%),
                #fff;
            border: 1px solid var(--line);
            border-radius: 28px;
            box-shadow: var(--shadow-md);
        }
        .device-auth-card {
            width: min(100%, 560px);
            padding: 34px;
            text-align: center;
            background: rgba(255, 255, 255, .94);
            border: 1px solid var(--line);
            border-radius: 24px;
            box-shadow: var(--shadow-sm);
        }
        .device-auth-icon {
            width: 74px;
            height: 74px;
            margin: 0 auto 19px;
            display: grid;
            place-items: center;
            color: #fff;
            background: linear-gradient(145deg, var(--primary-2), #23a9bc);
            border-radius: 23px;
            box-shadow: 0 14px 30px rgba(15, 95, 156, .23);
        }
        .device-auth-icon svg { width: 34px; height: 34px; }
        .device-auth-card h2 { margin: 0; color: var(--primary); font-size: 25px; letter-spacing: -.03em; }
        .device-auth-card > p { margin: 10px auto 20px; max-width: 450px; color: var(--muted); font-size: 13px; line-height: 1.6; }
        .device-status-pill {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            margin-bottom: 18px;
            padding: 8px 12px;
            color: #8b6900;
            background: #fff8d8;
            border: 1px solid #f0dfa0;
            border-radius: 999px;
            font-size: 11px;
            font-weight: 800;
        }
        .device-status-pill::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #e7b914;
            box-shadow: 0 0 0 4px rgba(231, 185, 20, .13);
        }
        .device-status-pill.blocked { color: #a33d3d; background: #fff0f0; border-color: #f0caca; }
        .device-status-pill.blocked::before { background: #d94c4c; box-shadow: 0 0 0 4px rgba(217, 76, 76, .12); }
        .device-code-box {
            margin: 0 auto 22px;
            padding: 13px 15px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            color: #51657d;
            background: var(--surface-2);
            border: 1px solid var(--line);
            border-radius: 14px;
            font-size: 11px;
        }
        .device-code-box strong { color: var(--primary); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .08em; }
        .device-auth-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
        .device-auth-hint { margin-top: 16px; color: #8190a4; font-size: 10px; line-height: 1.5; }

        /* Home */
        #screen-menu { margin-top: 18px; }
        .welcome-hero {
            min-height: 190px;
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            padding: 32px 38px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm);
        }
        .welcome-hero::before,
        .welcome-hero::after {
            content: "";
            position: absolute;
            border-radius: 48% 52% 66% 34% / 42% 47% 53% 58%;
            transform: rotate(-16deg);
        }
        .welcome-hero::before { width: 300px; height: 190px; right: -40px; top: -65px; background: rgba(55, 179, 211, .12); }
        .welcome-hero::after { width: 270px; height: 190px; right: 70px; bottom: -130px; background: rgba(245, 197, 24, .12); }
        .welcome-copy { position: relative; z-index: 1; }
        .welcome-copy h1 { margin: 0; color: #0e1c2e; font-size: clamp(26px, 3vw, 39px); letter-spacing: -.04em; }
        .welcome-copy p { margin: 9px 0 0; color: var(--muted); font-size: 14px; }
        .welcome-meta { margin-top: 17px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }

        .menu-heading { margin: 24px 3px 13px; display: flex; align-items: end; justify-content: space-between; gap: 18px; }
        .menu-heading h2 { margin: 0; color: var(--primary); font-size: 17px; }
        .menu-heading p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
        .menu-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
        .menu-card {
            min-height: 180px;
            padding: 25px 22px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            text-align: left;
            color: var(--text);
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 20px;
            box-shadow: 0 5px 18px rgba(24, 58, 92, .045);
            cursor: pointer;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }
        .menu-card:hover { transform: translateY(-4px); border-color: #b9d1e8; box-shadow: 0 16px 36px rgba(24, 58, 92, .10); }
        .menu-icon {
            width: 52px;
            height: 52px;
            display: grid;
            place-items: center;
            border-radius: 17px;
            color: #fff;
            background: linear-gradient(145deg, var(--primary-2), #1ab0bf);
            box-shadow: 0 10px 22px rgba(15, 95, 156, .20);
        }
        .menu-icon svg { width: 25px; height: 25px; }
        .menu-card strong { margin-top: 19px; color: var(--primary); font-size: 15px; }
        .menu-card small { margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.45; }
        .menu-card .card-arrow { margin-top: auto; padding-top: 14px; color: #7390aa; font-size: 17px; }
        .menu-card.logout-card .menu-icon { background: linear-gradient(145deg, #67798e, #93a1b2); box-shadow: 0 10px 22px rgba(70, 87, 105, .16); }

        .section-title {
            margin-bottom: 18px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            color: var(--primary);
            font-size: 18px;
            font-weight: 800;
            letter-spacing: -.02em;
        }

        label { display: block; margin-bottom: 6px; color: #51657d; font-size: 11px; font-weight: 700; }
        .field { margin-bottom: 14px; }
        .row { display: flex; gap: 11px; }
        .row > .field { flex: 1; min-width: 0; }

        input, select {
            width: 100%;
            min-height: 45px;
            padding: 10px 13px;
            box-sizing: border-box;
            color: var(--text);
            background: #fff;
            border: 1px solid #cfdae7;
            border-radius: 12px;
            outline: none;
            font-size: 16px;
            transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
        }
        input::placeholder { color: #a0adbc; }
        input:hover, select:hover { border-color: #b8c9da; }
        input:focus, select:focus { border-color: var(--primary-2); box-shadow: 0 0 0 4px rgba(15, 95, 156, .10); }

        .btn {
            min-height: 44px;
            padding: 10px 17px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            border: 0;
            border-radius: 12px;
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
            transition: transform .12s ease, box-shadow .15s ease, background .15s ease;
        }
        .btn:hover { transform: translateY(-1px); }
        .btn:active { transform: translateY(0); }
        .btn-primary { width: 100%; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-2)); box-shadow: 0 10px 22px rgba(11, 42, 74, .18); }
        .btn-primary:hover { box-shadow: 0 13px 26px rgba(11, 42, 74, .24); }
        .btn-outline { width: 100%; color: var(--primary); background: #fff; border: 1px solid #cfdbe8; }
        .btn-outline:hover { background: var(--primary-soft); border-color: #b7cde2; }
        .btn-icon {
            width: 45px;
            height: 45px;
            padding: 0;
            display: inline-grid;
            place-items: center;
            color: var(--primary);
            background: #f4f8fc;
            border: 1px solid #cfdae7;
            border-radius: 12px;
            cursor: pointer;
            transition: .15s ease;
        }
        .btn-icon:hover { background: var(--primary-soft); border-color: #afc9df; }
        .btn-icon span { font-size: 17px; }

        .badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 9px;
            color: #176f55;
            background: #eefaf5;
            border: 1px solid #ccecdc;
            border-radius: 999px;
            font-size: 10px;
            font-weight: 800;
            vertical-align: middle;
        }
        .badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #1db37a; }

        .pill {
            margin-bottom: 10px;
            padding: 11px 13px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            color: var(--muted);
            background: #f7fafd;
            border: 1px solid var(--line);
            border-radius: 12px;
            font-size: 11px;
        }
        .pill strong { color: var(--primary); font-size: 12px; }

        .divider { height: 1px; width: 100%; margin: 15px 0; background: var(--line); }

        .error-box, .success-box { margin-bottom: 12px; padding: 10px 12px; border-radius: 12px; font-size: 11px; line-height: 1.45; }
        .error-box { color: #a33b3b; background: #fff3f3; border: 1px solid #f1caca; }
        .success-box { color: #15714f; background: #effaf5; border: 1px solid #c8eadb; }

        .items-list {
            max-height: 300px;
            overflow-y: auto;
            margin-bottom: 8px;
            padding: 0 12px;
            background: #fbfdff;
            border: 1px solid var(--line);
            border-radius: 14px;
        }
        .item-line { padding: 11px 2px; display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid #e6edf4; font-size: 11px; cursor: pointer; }
        .item-line:last-child { border-bottom: 0; }
        .item-main { flex: 1; min-width: 0; }
        .item-main strong { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--primary); font-size: 12px; }
        .item-meta { min-width: 110px; text-align: right; color: #5d7189; }

        .totais {
            margin: 12px 0 15px;
            padding: 14px 15px;
            color: #d8e8f5;
            background: linear-gradient(135deg, #0b2a4a, #124f82);
            border-radius: 16px;
            box-shadow: 0 12px 24px rgba(11, 42, 74, .14);
            font-size: 11px;
        }
        .tot-line { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
        .tot-line:last-child { margin-bottom: 0; }
        .tot-line strong { color: #fff; }
        .tot-line.total { margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.16); font-size: 14px; }
        .tot-line.total strong:last-child { color: #ffe36c; }

        .consulta-switch-row {
            margin-bottom: 15px;
            padding: 12px 14px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            color: #425970;
            background: #f7fafd;
            border: 1px solid var(--line);
            border-radius: 14px;
            font-size: 12px;
        }
        .consulta-switch-row strong { color: var(--primary); }
        .consulta-switch-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
        .switch { position: relative; display: inline-block; width: 48px; height: 27px; flex: 0 0 auto; }
        .switch input { width: 0; height: 0; min-height: 0; opacity: 0; padding: 0; border: 0; }
        .slider { position: absolute; inset: 0; border-radius: 999px; background: #d1dbe6; cursor: pointer; transition: .18s; }
        .slider::before { content: ""; position: absolute; width: 21px; height: 21px; left: 3px; top: 3px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.18); transition: .18s; }
        .switch input:checked + .slider { background: var(--primary-2); }
        .switch input:checked + .slider::before { transform: translateX(21px); }

        .produto-consulta-card {
            margin-top: 13px;
            padding: 18px;
            position: relative;
            overflow: hidden;
            background: linear-gradient(145deg, #fff, #f4f9fd);
            border: 1px solid #cfddea;
            border-radius: 18px;
            box-shadow: var(--shadow-sm);
        }
        .produto-consulta-card::after { content: ""; position: absolute; width: 110px; height: 110px; right: -45px; top: -55px; border-radius: 50%; background: rgba(245, 197, 24, .16); }
        .produto-consulta-card .produto-nome { position: relative; z-index: 1; margin-bottom: 5px; color: var(--primary); font-size: 17px; font-weight: 800; }
        .produto-consulta-card .produto-codigo { position: relative; z-index: 1; margin-bottom: 13px; color: var(--muted); font-size: 11px; }
        .preco-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
        .preco-box { padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
        .preco-box span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 10px; }
        .preco-box strong { color: var(--primary-2); font-size: 17px; }

        .report-box { padding: 14px; color: #31485f; background: #f8fbfe; border: 1px solid var(--line); border-radius: 14px; font-size: 12px; white-space: pre-wrap; line-height: 1.45; overflow-x: auto; }
        .rel-card { margin-bottom: 11px; padding: 15px; color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 15px; cursor: pointer; transition: .16s ease; }
        .rel-card:hover { transform: translateY(-2px); border-color: #b4cde3; box-shadow: var(--shadow-sm); }
        .rel-card h4 { margin: 0 0 5px; color: var(--primary); font-size: 13px; }
        .rel-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }

        table.table { width: 100%; border-collapse: collapse; color: #30465c; font-size: 11px; }
        table.table th, table.table td { padding: 9px 8px; text-align: right; white-space: nowrap; border-bottom: 1px solid #e4ebf2; }
        table.table th:first-child, table.table td:first-child { text-align: left; }
        table.table thead th { color: var(--primary); background: #f3f8fc; font-size: 10px; font-weight: 800; }

        #camera-modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 14px; background: rgba(8, 25, 43, .72); backdrop-filter: blur(8px); }
        #camera-content { width: min(100%, 560px); padding: 14px; color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 26px 70px rgba(0,0,0,.3); }
        #video-preview { width: 100%; border-radius: 14px; background: #000; }

        @media (max-width: 1050px) {
            .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .login-layout { grid-template-columns: 1fr 420px; }
            .login-hero { padding: 38px; }
        }

        @media (max-width: 780px) {
            .shell { padding: 10px; }
            .card-header { top: 7px; border-radius: 18px; }
            .app-topbar { min-height: 66px; padding: 10px 13px; gap: 10px; }
            .brand-mark { width: 42px; height: 42px; border-radius: 13px; }
            .brand-title { font-size: 18px; }
            .brand-sub, .connection-chip, .top-user-copy { display: none; }
            .avatar { width: 35px; height: 35px; }
            .app-nav { padding: 0 10px 10px; }
            .nav-btn { padding: 8px 10px; }
            .nav-btn.nav-exit { margin-left: 0; }
            .login-layout { min-height: 0; grid-template-columns: 1fr; }
            .login-hero { min-height: 265px; padding: 30px; }
            .login-hero h1 { font-size: 38px; }
            .login-panel { padding: 34px 28px; }
            .welcome-hero { min-height: 170px; padding: 27px; }
            .card > .screen:not(#screen-login):not(#screen-device-auth):not(#screen-menu):not(#screen-financeiro) { margin-top: 12px; padding: 18px; border-radius: 20px; }
        }

        @media (max-width: 520px) {
            .shell { padding: 0; }
            .card-header { top: 0; border-width: 0 0 1px; border-radius: 0 0 17px 17px; }
            .brand-sub { display: none; }
            .top-user { gap: 6px; }
            .step-indicator { padding: 7px 8px; }
            .login-screen, #screen-device-auth, #screen-menu { margin: 10px; }
            .login-layout { border-radius: 22px; }
            .login-hero { min-height: 230px; padding: 25px; }
            .login-hero h1 { margin-top: 15px; font-size: 32px; }
            .login-hero p { font-size: 12px; }
            .hero-features { display: none; }
            .login-panel { padding: 29px 23px; }
            .welcome-hero { min-height: 165px; padding: 23px; border-radius: 21px; }
            .welcome-copy h1 { font-size: 27px; }
            .menu-heading { margin: 19px 2px 11px; }
            .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
            .menu-card { min-height: 154px; padding: 18px 15px; border-radius: 17px; }
            .menu-icon { width: 45px; height: 45px; border-radius: 14px; }
            .menu-card strong { margin-top: 14px; font-size: 13px; }
            .menu-card small { font-size: 10px; }
            .card > .screen:not(#screen-login):not(#screen-device-auth):not(#screen-menu):not(#screen-financeiro) { margin: 10px; width: auto; padding: 17px; }
            .section-title { font-size: 16px; }
            .row { flex-wrap: wrap; }
            .row > .field { flex: 1 1 170px; }
            .preco-grid { grid-template-columns: 1fr; }
            .topbar-spacer { min-width: 0; }
            .device-auth-wrap { min-height: 440px; padding: 18px; }
            .device-auth-card { padding: 25px 20px; }
            .device-auth-actions { grid-template-columns: 1fr; }
        }

        /* Financeiro */
        #screen-financeiro {
            width: 100%;
            max-width: none;
            margin: 18px auto 0;
            padding: 0;
            background: transparent;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }
        .finance-shell { display: grid; gap: 14px; }
        .finance-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 20px 22px;
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
        }
        .finance-top h2 { margin: 0; color: var(--primary); font-size: 22px; letter-spacing: -.025em; }
        .finance-top p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
        .finance-tabs {
            display: inline-grid;
            grid-template-columns: 1fr 1fr;
            gap: 5px;
            padding: 5px;
            width: min(100%, 430px);
            background: #eaf1f8;
            border: 1px solid var(--line);
            border-radius: 14px;
        }
        .finance-tab {
            border: 0;
            border-radius: 10px;
            padding: 10px 15px;
            background: transparent;
            color: #61748a;
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
        }
        .finance-tab.active { color: #fff; background: var(--primary); box-shadow: 0 7px 16px rgba(11,42,74,.16); }
        .finance-filter-card,
        .finance-table-card {
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
        }
        .finance-filter-card { padding: 18px; }
        .finance-filter-grid {
            display: grid;
            grid-template-columns: minmax(230px, 1.5fr) minmax(230px, 1fr) 155px 155px auto;
            gap: 12px;
            align-items: end;
        }
        .finance-status-group { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
        .finance-status-btn { border: 0; border-radius: 8px; padding: 9px 8px; color: #687b91; background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
        .finance-status-btn.active { color: #fff; background: var(--primary-2); }
        .finance-quick { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
        .finance-quick button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 11px; background: #fff; color: #5f7289; font-size: 10px; font-weight: 800; cursor: pointer; }
        .finance-quick button:hover, .finance-quick button.active { color: var(--primary-2); border-color: #9bc8e6; background: #edf7fd; }
        .finance-summary { display: grid; grid-template-columns: repeat(5, minmax(145px, 1fr)); gap: 11px; }
        .finance-summary-card { padding: 15px 16px; background: #fff; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow-sm); }
        .finance-summary-card span { display: block; color: var(--muted); font-size: 10px; font-weight: 700; }
        .finance-summary-card strong { display: block; margin-top: 5px; color: var(--primary); font-size: 19px; letter-spacing: -.02em; }
        .finance-summary-card.danger strong { color: #d64d4d; }
        .finance-summary-card.success strong { color: var(--success); }
        .finance-table-card { overflow: hidden; }
        .finance-table-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 15px 17px; border-bottom: 1px solid var(--line); }
        .finance-table-head strong { color: var(--primary); font-size: 14px; }
        .finance-table-head span { color: var(--muted); font-size: 10px; }
        .finance-table-scroll { width: 100%; overflow-x: hidden; }
        .finance-table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: fixed; }
        .finance-table th { padding: 11px 7px; background: #eef5fb; color: #5c6f86; border-bottom: 1px solid var(--line); font-size: 10px; text-transform: uppercase; letter-spacing: .025em; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .finance-table td { padding: 10px 7px; color: #26364a; border-bottom: 1px solid #e9eff5; font-size: 10.5px; vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

        /* Larguras pensadas para caber sem rolagem horizontal em tela cheia. */
        .finance-table.finance-table-receber th:nth-child(1),
        .finance-table.finance-table-receber td:nth-child(1) { width: 7%; }
        .finance-table.finance-table-receber th:nth-child(2),
        .finance-table.finance-table-receber td:nth-child(2) { width: 24%; }
        .finance-table.finance-table-receber th:nth-child(3),
        .finance-table.finance-table-receber td:nth-child(3) { width: 8%; }
        .finance-table.finance-table-receber th:nth-child(4),
        .finance-table.finance-table-receber td:nth-child(4) { width: 6%; }
        .finance-table.finance-table-receber th:nth-child(5),
        .finance-table.finance-table-receber td:nth-child(5) { width: 9%; }
        .finance-table.finance-table-receber th:nth-child(6),
        .finance-table.finance-table-receber td:nth-child(6) { width: 10%; }
        .finance-table.finance-table-receber th:nth-child(7),
        .finance-table.finance-table-receber td:nth-child(7) { width: 9%; }
        .finance-table.finance-table-receber th:nth-child(8),
        .finance-table.finance-table-receber td:nth-child(8) { width: 9%; }
        .finance-table.finance-table-receber th:nth-child(9),
        .finance-table.finance-table-receber td:nth-child(9) { width: 12%; }
        .finance-table.finance-table-receber th:nth-child(10),
        .finance-table.finance-table-receber td:nth-child(10) { width: 6%; }

        .finance-table.finance-table-pagar th:nth-child(1),
        .finance-table.finance-table-pagar td:nth-child(1) { width: 12%; }
        .finance-table.finance-table-pagar th:nth-child(2),
        .finance-table.finance-table-pagar td:nth-child(2) { width: 9%; }
        .finance-table.finance-table-pagar th:nth-child(3),
        .finance-table.finance-table-pagar td:nth-child(3) { width: 34%; }
        .finance-table.finance-table-pagar th:nth-child(4),
        .finance-table.finance-table-pagar td:nth-child(4) { width: 13%; }
        .finance-table.finance-table-pagar th:nth-child(5),
        .finance-table.finance-table-pagar td:nth-child(5) { width: 13%; }
        .finance-table.finance-table-pagar th:nth-child(6),
        .finance-table.finance-table-pagar td:nth-child(6) { width: 13%; }
        .finance-table.finance-table-pagar th:nth-child(7),
        .finance-table.finance-table-pagar td:nth-child(7) { width: 6%; }
        .finance-table tbody tr:hover td { background: #f8fbfe; }
        .finance-table td.num, .finance-table th.num { text-align: right; }
        .finance-table .finance-name { min-width: 210px; font-weight: 700; color: var(--primary); }
        .finance-status-pill { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 900; white-space: nowrap; }
        .finance-status-pill.open { color: #bd3f3f; background: #fff0f0; border: 1px solid #f4caca; }
        .finance-status-pill.paid { color: #267a59; background: #edf9f3; border: 1px solid #ccebdc; }
        .finance-status-pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
        .finance-empty { padding: 34px 20px !important; text-align: center !important; color: var(--muted) !important; }
        .finance-loading { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); }
        .finance-loading::before { content: ''; width: 14px; height: 14px; border: 2px solid #d7e2ec; border-top-color: var(--primary-2); border-radius: 50%; animation: financeSpin .7s linear infinite; }
        @keyframes financeSpin { to { transform: rotate(360deg); } }
        .finance-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; background: #fafcfe; }
        .finance-pagination-info { color: var(--muted); font-size: 10px; }
        .finance-pagination-actions { display: flex; gap: 7px; }
        .finance-pagination-actions button { border: 1px solid var(--line); border-radius: 9px; padding: 7px 11px; background: #fff; color: var(--primary); font-size: 10px; font-weight: 800; cursor: pointer; }
        .finance-pagination-actions button:disabled { opacity: .4; cursor: default; }

        .fin-mobile-only { display: none; }
        .fin-desktop-only { display: inline; }

        @media (max-width: 1100px) {
            .finance-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .finance-filter-grid .finance-search-field { grid-column: 1 / -1; }
            .finance-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }

            /* Mantém a tabela inteira visível, sem rolagem horizontal. */
            .finance-table-scroll { overflow-x: hidden; }
            .finance-table {
                width: 100%;
                min-width: 0;
                table-layout: fixed;
            }
            .finance-table th {
                padding: 8px 4px;
                font-size: 8px;
                line-height: 1.15;
                white-space: normal;
                overflow: visible;
                text-overflow: clip;
                overflow-wrap: anywhere;
            }
            .finance-table td {
                padding: 8px 4px;
                font-size: 8.5px;
                line-height: 1.2;
                white-space: normal;
                overflow: visible;
                text-overflow: clip;
                overflow-wrap: anywhere;
            }
            .finance-table .finance-name { min-width: 0; }
            .finance-status-pill {
                padding: 3px 4px;
                font-size: 7px;
                line-height: 1.05;
                white-space: normal;
                justify-content: center;
            }
            .finance-status-pill::before {
                width: 4px;
                height: 4px;
                flex: 0 0 auto;
            }
        }

        @media (max-width: 700px) {
            #screen-financeiro { margin: 8px 4px; width: auto; }
            .finance-top { padding: 15px; align-items: flex-start; flex-direction: column; }
            .finance-tabs { width: 100%; }
            .finance-filter-card {
                padding: 13px;
                overflow: hidden;
            }
            .finance-filter-grid {
                width: 100%;
                min-width: 0;
                max-width: 100%;
                grid-template-columns: minmax(0, 1fr);
            }
            .finance-filter-grid > .field,
            .finance-filter-grid .finance-search-field {
                width: 100%;
                min-width: 0;
                max-width: 100%;
                grid-column: auto;
            }
            #fin-inicio,
            #fin-fim {
                display: block;
                width: 100% !important;
                min-width: 0 !important;
                max-width: 100% !important;
                inline-size: 100% !important;
                min-inline-size: 0 !important;
                max-inline-size: 100% !important;
                box-sizing: border-box !important;
                -webkit-appearance: none;
                appearance: none;
            }

            /* No iPhone, força os campos de data a ocupar exatamente
               a mesma largura do campo Nome do Cliente ou DOC. */
            #fin-inicio::-webkit-date-and-time-value,
            #fin-fim::-webkit-date-and-time-value {
                text-align: left;
            }
            .finance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .finance-summary-card { padding: 12px 11px; }
            .finance-summary-card strong { font-size: 15px; }

            .finance-table-card { border-radius: 13px; }
            .finance-table-head { padding: 11px 9px; }
            .finance-table-head strong { font-size: 12px; }
            .finance-table-head span { font-size: 8px; }

            .finance-table-scroll {
                width: 100%;
                overflow-x: hidden;
            }
            .finance-table {
                display: table;
                width: 100%;
                min-width: 0;
                table-layout: fixed;
            }
            .finance-table thead { display: table-header-group; }
            .finance-table tbody { display: table-row-group; }
            .finance-table tr { display: table-row; }
            .finance-table th,
            .finance-table td {
                display: table-cell;
                min-width: 0;
                padding: 6px 2px;
                line-height: 1.12;
                white-space: normal;
                overflow: visible;
                text-overflow: clip;
                overflow-wrap: anywhere;
                word-break: normal;
            }
            .finance-table th:first-child,
            .finance-table td:first-child { padding-left: 7px; }
            .finance-table th:last-child,
            .finance-table td:last-child { padding-right: 7px; }

            .fin-mobile-only { display: inline; }
            .fin-desktop-only { display: none; }
            .finance-table th {
                font-size: clamp(5.6px, 1.72vw, 7px);
                letter-spacing: 0;
                text-align: left;
            }
            .finance-table td {
                font-size: clamp(6px, 1.84vw, 7.5px);
                vertical-align: middle;
            }
            .finance-table td::before { display: none; content: none; }
            .finance-table td.finance-name {
                min-width: 0;
                font-weight: 700;
            }
            .finance-table td.num,
            .finance-table th.num { text-align: right; }

            /* No celular o status vira texto compacto para não alargar a coluna. */
            .finance-status-pill {
                display: inline;
                padding: 0;
                border: 0;
                border-radius: 0;
                background: transparent !important;
                font-size: inherit;
                line-height: inherit;
                white-space: normal;
            }
            .finance-status-pill.open { color: #bd3f3f; }
            .finance-status-pill.paid { color: #267a59; }
            .finance-status-pill::before { display: none; }
            .finance-table.finance-table-receber td:nth-child(8) .finance-status-pill,
            .finance-table.finance-table-pagar td:nth-child(6) .finance-status-pill {
                display: block;
                width: 100%;
                text-align: center;
            }

            /* Contas a Receber no celular: oculta Forma e redistribui as colunas. */
            .finance-table.finance-table-receber th:nth-child(1),
            .finance-table.finance-table-receber td:nth-child(1) { width: 8%; }
            .finance-table.finance-table-receber th:nth-child(2),
            .finance-table.finance-table-receber td:nth-child(2) { width: 24%; }
            .finance-table.finance-table-receber th:nth-child(3),
            .finance-table.finance-table-receber td:nth-child(3) { width: 8%; }

            /* Parcela sem título e mostrando somente o número atual. */
            .finance-table.finance-table-receber th:nth-child(4),
            .finance-table.finance-table-receber td:nth-child(4) {
                width: 3%;
                text-align: center;
                padding-left: 0;
                padding-right: 0;
            }
            .finance-table.finance-table-receber th:nth-child(5),
            .finance-table.finance-table-receber td:nth-child(5) {
                width: 11%;
                text-align: left !important;
                padding-left: 1px;
            }

            .finance-table.finance-table-receber th:nth-child(6),
            .finance-table.finance-table-receber td:nth-child(6) {
                width: 15%;
                padding-right: 4px;
            }
            .finance-table.finance-table-receber th:nth-child(7),
            .finance-table.finance-table-receber td:nth-child(7) {
                width: 14%;
                padding-left: 4px;
            }

            /* Status centralizado, mais próximo da Data e afastado do D+/-. */
            .finance-table.finance-table-receber th:nth-child(8),
            .finance-table.finance-table-receber td:nth-child(8) {
                width: 11%;
                text-align: center !important;
                padding-left: 0;
                padding-right: 4px;
            }
            .finance-table.finance-table-receber th:nth-child(9),
            .finance-table.finance-table-receber td:nth-child(9) { display: none; }
            .finance-table.finance-table-receber th:nth-child(10),
            .finance-table.finance-table-receber td:nth-child(10) {
                width: 6%;
                text-align: center !important;
                padding-left: 4px;
            }

            /* Contas a Pagar no celular: DOC, parcela compacta e status centralizado. */
            .finance-table.finance-table-pagar th:nth-child(1),
            .finance-table.finance-table-pagar td:nth-child(1) { width: 13%; }
            .finance-table.finance-table-pagar th:nth-child(2),
            .finance-table.finance-table-pagar td:nth-child(2) {
                width: 4%;
                text-align: center;
                padding-left: 0;
                padding-right: 0;
            }
            .finance-table.finance-table-pagar th:nth-child(3),
            .finance-table.finance-table-pagar td:nth-child(3) { width: 31%; }
            .finance-table.finance-table-pagar th:nth-child(4),
            .finance-table.finance-table-pagar td:nth-child(4) { width: 15%; }
            .finance-table.finance-table-pagar th:nth-child(5),
            .finance-table.finance-table-pagar td:nth-child(5) { width: 14%; }
            .finance-table.finance-table-pagar th:nth-child(6),
            .finance-table.finance-table-pagar td:nth-child(6) {
                width: 15%;
                text-align: center !important;
                padding-right: 4px;
            }
            .finance-table.finance-table-pagar th:nth-child(7),
            .finance-table.finance-table-pagar td:nth-child(7) {
                width: 8%;
                text-align: center !important;
                padding-left: 4px;
            }

            .finance-table tr.finance-empty-row { display: table-row; }
            .finance-empty { font-size: 10px !important; padding: 24px 8px !important; }
            .finance-pagination { align-items: stretch; flex-direction: column; }
            .finance-pagination-actions { display: grid; grid-template-columns: 1fr 1fr; }
        }

        @media (max-width: 420px) {
            #screen-financeiro { margin-left: 2px; margin-right: 2px; }
            .finance-table th {
                padding-left: 0;
                padding-right: 0;
                font-size: clamp(5.2px, 1.6vw, 6.2px);
            }
            .finance-table td {
                padding-left: 0;
                padding-right: 0;
                font-size: clamp(5.7px, 1.72vw, 6.8px);
            }
        }


        /* Agenda Web */
        #screen-agenda {
            width: 100%;
            max-width: none;
            margin: 18px auto 0;
            padding: 0;
            background: transparent;
            border: 0;
            box-shadow: none;
        }
        .agenda-web-shell { display: grid; gap: 14px; position:relative; }
        .agenda-toolbar { display:flex; align-items:center; justify-content:center; gap:14px; padding:4px 0; }
        .agenda-web-top {
            display: flex; align-items: center; justify-content: space-between; gap: 16px;
            padding: 19px 21px; background: #fff; border: 1px solid var(--line);
            border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
        }
        .agenda-web-brand h2 { margin: 0; color: var(--primary); font-size: 22px; }
        .agenda-web-brand p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
        .agenda-web-actions { display:flex; gap:9px; align-items:center; }
        .agenda-web-actions .btn { min-width:118px; width:auto; }
        .agenda-web-nav {
            display: grid; grid-template-columns: 46px minmax(260px, 1fr) 46px;
            align-items: center; gap: 10px; width: min(100%, 560px); margin: 0;
        }
        .agenda-date-main {
            min-height: 51px; border: 1px solid var(--line); border-radius: 14px;
            background: #fff; color: var(--primary); font-weight: 850; cursor: pointer;
        }
        .agenda-date-main small { display: block; color: var(--primary-2); font-size: 9px; text-transform: uppercase; }
        .agenda-date-main strong { display: block; margin-top: 2px; font-size: 15px; }
        .agenda-nav-arrow, .agenda-today {
            min-height: 46px; border: 1px solid var(--line); border-radius: 12px;
            background: #fff; color: var(--primary); font-weight: 900; cursor: pointer;
        }
        .agenda-today { padding: 0 17px; }
        .agenda-summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
        .agenda-summary-floating {
            position:fixed; left:12px; top:50%; transform:translateY(-50%);
            z-index:30; width:168px; grid-template-columns:1fr; gap:8px;
        }
        .agenda-summary-floating .agenda-summary-card { padding:10px 11px; gap:9px; box-shadow:0 8px 22px rgba(16,48,82,.12); }
        .agenda-summary-floating .agenda-summary-icon { width:34px; height:34px; border-radius:10px; font-size:16px; }
        .agenda-summary-floating .agenda-summary-card strong { font-size:17px; }
        .agenda-summary-floating .agenda-summary-card span { font-size:8px; }
        .agenda-summary-card {
            padding: 17px 18px; display: flex; align-items: center; gap: 13px;
            background: #fff; border: 1px solid var(--line); border-radius: 16px;
            box-shadow: var(--shadow-sm);
        }
        .agenda-summary-icon {
            width: 43px; height: 43px; display: grid; place-items: center;
            border-radius: 13px; background: var(--primary-soft); color: var(--primary-2);
            font-size: 20px; font-weight: 900;
        }
        .agenda-summary-card strong { display: block; color: var(--primary); font-size: 22px; }
        .agenda-summary-card span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
        .agenda-web-card {
            background: #fff; border: 1px solid var(--line); border-radius: 20px;
            box-shadow: var(--shadow-sm); overflow: hidden;
        }
        .agenda-web-card-head {
            padding: 18px 21px; border-bottom: 1px solid var(--line);
            display: flex; justify-content: space-between; align-items: center; gap: 14px;
        }
        .agenda-web-card-head h3 { margin: 0; color: var(--primary); font-size: 17px; }
        .agenda-web-card-head p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
        .agenda-legend { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: 9px; }
        .agenda-legend i { width: 7px; height: 7px; display: inline-block; margin-right: 5px; border-radius: 50%; }
        .agenda-legend .wait { background: #d88d12; }
        .agenda-legend .confirmed { background: #6658dc; }
        .agenda-legend .done { background: #168b60; }
        .agenda-timeline { padding: 14px 20px 22px; }
        .agenda-slot { display: grid; grid-template-columns: 78px 1fr; gap: 12px; align-items: stretch; min-height: 61px; }
        .agenda-slot-time { padding-top:16px; color:#587088; text-align:right; font-size:11px; font-weight:850; }
        .agenda-slot-custom .agenda-slot-time { color:var(--primary-2); }
        .agenda-slot-custom .agenda-slot-body { background:linear-gradient(90deg, rgba(15,95,156,.035), transparent); }
        .agenda-slot-body { padding: 7px 0; border-bottom: 1px solid #edf1f5; }
        .agenda-free, .agenda-appointment {
            width: 100%; min-height: 47px; border-radius: 13px; cursor: pointer;
        }
        .agenda-free {
            padding: 0 13px; display: flex; align-items: center; justify-content: space-between;
            color: #7890a7; background: #fbfdff; border: 1px dashed #cadbea;
            font-size: 10px; font-weight: 750;
        }
        .agenda-free b {
            width: 28px; height: 28px; display: grid; place-items: center;
            border: 1px solid #d1deea; border-radius: 9px; font-size: 17px;
        }
        .agenda-appointment {
            padding: 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px;
            background: #fff; border: 1px solid #d9e4ee; border-left: 4px solid #d88d12;
            text-align: left;
        }
        .agenda-appointment.confirmada { border-left-color: #6658dc; }
        .agenda-appointment.realizada { border-left-color: #168b60; }
        .agenda-appointment.cancelada, .agenda-appointment.faltou { opacity: .65; border-left-color: #cf5656; }
        .agenda-appt-main strong { display: block; color: #18263a; font-size: 12px; text-transform: uppercase; }
        .agenda-appt-main span { display: block; margin-top: 4px; color: #66809a; font-size: 9px; text-transform: uppercase; }
        .agenda-status {
            padding: 6px 9px; border-radius: 999px; color: #9a650c; background: #fff5e4;
            font-size: 8px; font-weight: 900; white-space: nowrap;
        }
        .agenda-status.confirmada { color: #5749c8; background: #f0edff; }
        .agenda-status.realizada { color: #147451; background: #eaf8f1; }
        .agenda-status.cancelada, .agenda-status.faltou { color: #a73f3f; background: #fff0f0; }
        .agenda-loading { padding: 38px; color: var(--muted); text-align: center; }
        .agenda-modal-backdrop {
            position: fixed; inset: 0; z-index: 150; display: none; place-items: center;
            padding: 18px; background: rgba(9, 28, 48, .58); backdrop-filter: blur(7px);
        }
        .agenda-modal-backdrop.open { display: grid; }
        .agenda-modal {
            width: min(100%, 700px); max-height: calc(100vh - 36px); overflow: auto;
            background: #fff; border: 1px solid var(--line); border-radius: 22px;
            box-shadow: 0 28px 80px rgba(0,0,0,.27);
        }
        .agenda-modal.small { width: min(100%, 560px); }
        .agenda-modal-head {
            padding: 21px 24px 17px; display: flex; justify-content: space-between; gap: 15px;
            border-bottom: 1px solid var(--line);
        }
        .agenda-modal-head small { color: var(--primary-2); font-size: 10px; font-weight: 850; text-transform: uppercase; }
        .agenda-modal-head h3 { margin: 5px 0 0; color: var(--primary); font-size: 21px; }
        .agenda-modal-close { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 11px; background: #fff; cursor: pointer; }
        .agenda-form { padding: 20px 24px 24px; }
        .agenda-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
        .agenda-form-grid .wide { grid-column: 1 / -1; }
        .agenda-client-wrap { position: relative; }
        .agenda-client-results {
            position: absolute; z-index: 5; left: 0; right: 0; top: calc(100% - 8px);
            max-height: 220px; overflow: auto; background: #fff; border: 1px solid var(--line);
            border-radius: 12px; box-shadow: var(--shadow-md);
        }
        .agenda-client-option {
            width: 100%; padding: 11px 13px; border: 0; border-bottom: 1px solid #edf1f5;
            background: #fff; text-align: left; cursor: pointer;
        }
        .agenda-client-option strong { display: block; color: var(--primary); font-size: 11px; }
        .agenda-client-option span { color: var(--muted); font-size: 9px; }
        .agenda-form textarea { width: 100%; padding: 11px 13px; border: 1px solid #cfdae7; border-radius: 12px; resize: vertical; font: inherit; }
        .agenda-modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 19px; }
        .agenda-details { padding: 20px 24px 24px; }
        .agenda-details-row { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 18px; color: var(--muted); font-size: 11px; }
        .agenda-detail-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
        .agenda-detail-actions button { min-height: 48px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--primary); font-weight: 850; cursor: pointer; }
        .agenda-detail-status { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 16px; }
        .agenda-detail-status button { min-height: 43px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-weight: 850; cursor: pointer; }
        .agenda-detail-status .confirm { color: #6658dc; background: #f1efff; }
        .agenda-detail-status .done { color: #168b60; background: #edf9f3; }
        .agenda-detail-status .missed { color: #a66a05; background: #fff7e9; }
        .agenda-detail-status .cancel { color: #bb4242; background: #fff1f1; }
        .agenda-toast {
            position: fixed; right: 20px; bottom: 20px; z-index: 220;
            max-width: 390px; padding: 13px 15px; border-radius: 13px;
            background: #15324f; color: #fff; box-shadow: var(--shadow-md);
            font-size: 11px; font-weight: 750; display: none;
        }
        .agenda-toast.show { display: block; }
        @media (max-width: 980px) {
            .agenda-summary-floating { position:static; transform:none; width:auto; grid-template-columns:repeat(4,1fr); }
        }
        @media (max-width: 760px) {
            #screen-agenda { margin: 9px 5px; width: auto; }
            .agenda-toolbar { align-items:stretch; flex-direction:column; }
            .agenda-web-actions { width: 100%; }
            .agenda-web-actions .btn { flex: 1; }
            .agenda-web-nav { width:100%; grid-template-columns:42px 1fr 42px; }
            .agenda-summary-floating { grid-template-columns:repeat(2,1fr); }
            .agenda-web-card-head { align-items: flex-start; flex-direction: column; }
            .agenda-slot { grid-template-columns: 55px 1fr; gap: 8px; }
            .agenda-timeline { padding-left: 9px; padding-right: 11px; }
            .agenda-form-grid { grid-template-columns: 1fr; }
            .agenda-form-grid .wide { grid-column: auto; }
        }


        /* A Agenda não mantém transform da animação, para que os indicadores
           com position: fixed fiquem presos à janela do navegador. */
        #screen-agenda.screen.active {
            animation: none;
            transform: none;
        }

        .agenda-summary-floating {
            left: 14px;
        }


        .agenda-delete-wrap {
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid var(--line);
        }
        .agenda-delete-wrap button {
            width: 100%;
            min-height: 42px;
            border: 1px solid #efc7c7;
            border-radius: 12px;
            background: #fff7f7;
            color: #b23e3e;
            font-weight: 850;
            cursor: pointer;
        }
        .agenda-delete-wrap button:hover {
            background: #ffecec;
            border-color: #e8aaaa;
        }


        .agenda-summary-card {
            font: inherit;
            text-align: left;
            cursor: pointer;
            transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
        }
        .agenda-summary-card:hover {
            transform: translateX(3px);
            border-color: #aacbe4;
            box-shadow: 0 12px 28px rgba(16,48,82,.16);
        }
        .agenda-summary-card.active {
            border-color: var(--primary-2);
            box-shadow: 0 0 0 3px rgba(15,95,156,.10), 0 12px 28px rgba(16,48,82,.14);
        }
        .agenda-filter-head { align-items: center; }
        .agenda-filter-back { width: auto; min-width: 190px; }
        .agenda-filter-list {
            padding: 14px 18px 20px;
            display: grid;
            gap: 10px;
        }
        .agenda-filter-item {
            width: 100%;
            padding: 14px 16px;
            display: grid;
            grid-template-columns: 72px minmax(0,1fr) auto;
            align-items: center;
            gap: 14px;
            border: 1px solid var(--line);
            border-left: 4px solid #d88d12;
            border-radius: 14px;
            background: #fff;
            text-align: left;
            cursor: pointer;
        }
        .agenda-filter-item:hover { box-shadow: var(--shadow-sm); transform: translateY(-1px); }
        .agenda-filter-item.confirmada { border-left-color: #6658dc; }
        .agenda-filter-item.realizada { border-left-color: #168b60; }
        .agenda-filter-time { color: var(--primary); font-size: 16px; font-weight: 900; }
        .agenda-filter-main strong {
            display: block; color: #18263a; font-size: 13px; text-transform: uppercase;
        }
        .agenda-filter-main span {
            display: block; margin-top: 4px; color: var(--muted); font-size: 10px; text-transform: uppercase;
        }
        .agenda-filter-empty { padding: 36px 18px; color: var(--muted); text-align: center; }
        @media (max-width: 700px) {
            .agenda-filter-head { align-items: stretch; flex-direction: column; }
            .agenda-filter-back { width: 100%; }
            .agenda-filter-item { grid-template-columns: 58px minmax(0,1fr); }
            .agenda-filter-item .agenda-status { grid-column: 1 / -1; justify-self: start; margin-left: 72px; }
        }


        /* Correção mobile do modal da Agenda */
        @media (max-width: 700px) {
            html, body {
                width: 100%;
                max-width: 100%;
                overflow-x: hidden;
            }

            .agenda-modal-backdrop {
                align-items: stretch;
                justify-items: stretch;
                padding: 0;
                overflow-x: hidden;
            }

            .agenda-modal,
            .agenda-modal.small {
                width: 100%;
                max-width: 100%;
                min-width: 0;
                min-height: 100%;
                max-height: none;
                margin: 0;
                border-left: 0;
                border-right: 0;
                border-radius: 0;
                overflow-x: hidden;
                box-shadow: none;
            }

            .agenda-modal-head,
            .agenda-form,
            .agenda-details {
                width: 100%;
                max-width: 100%;
                min-width: 0;
                padding-left: 16px;
                padding-right: 16px;
            }

            .agenda-form-grid,
            .agenda-form-grid > *,
            .agenda-client-wrap,
            .agenda-modal input,
            .agenda-modal select,
            .agenda-modal textarea,
            .agenda-modal button {
                min-width: 0;
                max-width: 100%;
            }

            .agenda-modal input,
            .agenda-modal select,
            .agenda-modal textarea {
                width: 100%;
                box-sizing: border-box;
            }

            .agenda-client-results {
                left: 0;
                right: 0;
                width: auto;
                max-width: 100%;
            }

            .agenda-modal-actions {
                width: 100%;
                display: grid;
                grid-template-columns: 1fr;
            }

            .agenda-modal-actions .btn {
                width: 100%;
            }
        }


        .agenda-date-picker-wrap { position: relative; min-width: 0; }
        .agenda-date-picker-wrap .agenda-date-main { width: 100%; }
        #agenda-date-input {
            position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
            padding: 0; border: 0; border-radius: 14px; opacity: 0; cursor: pointer; z-index: 2;
        }
        #agenda-date-input::-webkit-calendar-picker-indicator {
            position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; cursor: pointer;
        }


        /* Agenda horizontal em computador */
        .agenda-horizontal-layout {
            display: grid;
            grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
            align-items: start;
            gap: 16px;
        }

        .agenda-left-column {
            min-width: 0;
            display: grid;
            gap: 14px;
            position: sticky;
            top: 14px;
        }

        .agenda-right-column {
            min-width: 0;
            display: grid;
            gap: 14px;
        }

        .agenda-left-column .agenda-summary-floating {
            position: static;
            left: auto;
            top: auto;
            width: 100%;
            transform: none;
            z-index: auto;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
        }

        .agenda-left-column .agenda-summary-card {
            min-width: 0;
            min-height: 88px;
            padding: 13px;
            transform: none;
        }

        .agenda-left-column .agenda-summary-card:hover {
            transform: translateY(-2px);
        }

        .agenda-left-column .agenda-summary-icon {
            width: 38px;
            height: 38px;
            flex: 0 0 auto;
        }

        .agenda-client-search-card {
            min-width: 0;
            padding: 17px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 18px;
            box-shadow: var(--shadow-sm);
        }

        .agenda-client-search-head h3 {
            margin: 0;
            color: var(--primary);
            font-size: 16px;
        }

        .agenda-client-search-head p {
            margin: 4px 0 14px;
            color: var(--muted);
            font-size: 10px;
            line-height: 1.45;
        }

        .agenda-history-client-wrap {
            position: relative;
            min-width: 0;
        }

        .agenda-history-search-btn {
            width: 100%;
            margin-top: 9px;
        }

        .agenda-client-history {
            max-height: calc(100vh - 390px);
            min-height: 90px;
            margin-top: 13px;
            overflow-y: auto;
            overflow-x: hidden;
            border-top: 1px solid var(--line);
            padding-top: 10px;
        }

        .agenda-history-empty {
            padding: 18px 8px;
            color: var(--muted);
            text-align: center;
            font-size: 10px;
            line-height: 1.5;
        }

        .agenda-history-count {
            margin-bottom: 8px;
            color: var(--muted);
            font-size: 9px;
            font-weight: 750;
        }

        .agenda-history-item {
            width: 100%;
            min-width: 0;
            margin-bottom: 8px;
            padding: 11px;
            display: grid;
            grid-template-columns: 48px minmax(0, 1fr);
            gap: 9px;
            border: 1px solid var(--line);
            border-left: 4px solid #d88d12;
            border-radius: 12px;
            background: #fff;
            color: var(--text);
            text-align: left;
            cursor: pointer;
        }

        .agenda-history-item.confirmada { border-left-color: #6658dc; }
        .agenda-history-item.realizada { border-left-color: #168b60; }
        .agenda-history-item.cancelada,
        .agenda-history-item.faltou {
            border-left-color: #cf5656;
            opacity: .72;
        }

        .agenda-history-date {
            color: var(--primary);
            font-size: 10px;
            font-weight: 900;
            line-height: 1.25;
        }

        .agenda-history-date strong {
            display: block;
            font-size: 13px;
        }

        .agenda-history-main {
            min-width: 0;
        }

        .agenda-history-main strong {
            display: block;
            overflow: hidden;
            color: var(--primary);
            font-size: 10px;
            text-overflow: ellipsis;
            white-space: nowrap;
            text-transform: uppercase;
        }

        .agenda-history-main span {
            display: block;
            margin-top: 3px;
            overflow: hidden;
            color: var(--muted);
            font-size: 8px;
            text-overflow: ellipsis;
            white-space: nowrap;
            text-transform: uppercase;
        }

        .agenda-history-main .agenda-status {
            display: inline-flex;
            margin-top: 7px;
        }

        @media (max-width: 980px) {
            .agenda-horizontal-layout {
                display: flex;
                flex-direction: column;
            }

            .agenda-left-column {
                width: 100%;
                position: static;
                order: 1;
            }

            .agenda-right-column {
                width: 100%;
                order: 2;
            }

            .agenda-left-column .agenda-summary-floating {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .agenda-client-search-card {
                order: 2;
            }

            .agenda-client-history {
                max-height: 360px;
            }
        }

        @media (max-width: 520px) {
            .agenda-horizontal-layout {
                gap: 10px;
            }

            .agenda-left-column {
                gap: 10px;
            }

            .agenda-client-search-card {
                margin: 0;
                padding: 14px;
                border-radius: 16px;
            }

            .agenda-left-column .agenda-summary-card {
                min-height: 78px;
                padding: 10px;
            }
        }


        /* Aproveita melhor a largura em telas horizontais */
        @media (min-width: 981px) {
            #screen-agenda {
                width: calc(100% - 28px);
                max-width: none;
                margin-left: 14px;
                margin-right: 14px;
            }

            .agenda-web-shell {
                width: 100%;
                max-width: none;
            }

            .agenda-toolbar {
                width: 100%;
            }

            .agenda-horizontal-layout {
                width: 100%;
                grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
                gap: 14px;
            }

            .agenda-left-column,
            .agenda-right-column,
            .agenda-web-card,
            .agenda-client-search-card {
                max-width: none;
            }
        }


        /* Corrige largura horizontal da Agenda no desktop */
        @media (min-width: 981px) {
            .card > #screen-agenda.screen.active {
                width: 100% !important;
                max-width: none !important;
                margin: 14px 0 0 !important;
                padding: 0 !important;
                border: 0 !important;
                background: transparent !important;
                box-shadow: none !important;
            }

            #screen-agenda .agenda-web-shell,
            #screen-agenda .agenda-toolbar,
            #screen-agenda .agenda-horizontal-layout {
                width: 100% !important;
                max-width: none !important;
            }

            #screen-agenda .agenda-horizontal-layout {
                grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
            }

            .agenda-history-client-wrap {
                z-index: 40;
            }

            #agenda-history-client-results {
                z-index: 100;
            }
        }


        /* Agenda leve: indicadores flutuantes e busca na barra superior */
        .agenda-horizontal-layout,
        .agenda-left-column,
        .agenda-right-column,
        .agenda-client-search-card {
            display: contents !important;
        }

        .agenda-toolbar {
            display: grid;
            grid-template-columns: minmax(210px, 280px) minmax(420px, 560px) auto;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }

        .agenda-toolbar-search {
            position: relative;
            min-width: 0;
        }

        .agenda-toolbar-search input[type="search"] {
            width: 100%;
            height: 46px;
            min-width: 0;
            padding: 0 14px;
            border: 1px solid #cfdae7;
            border-radius: 12px;
            background: #fff;
            color: var(--text);
            font: inherit;
        }

        .agenda-toolbar-search input[type="search"]:focus {
            outline: 0;
            border-color: var(--primary-2);
            box-shadow: 0 0 0 4px rgba(15,95,156,.10);
        }

        .agenda-toolbar-search .agenda-client-results {
            top: calc(100% + 6px);
            z-index: 120;
        }


        .agenda-summary-floating .agenda-summary-card {
            min-height: 0 !important;
            padding: 10px 11px !important;
        }

        #screen-agenda {
            width: calc(100% - 28px) !important;
            max-width: none !important;
            margin-left: 14px !important;
            margin-right: 14px !important;
        }

        @media (max-width: 980px) {
            .agenda-toolbar {
                grid-template-columns: 1fr;
            }

            .agenda-toolbar-search {
                order: 1;
                width: 100%;
            }

            .agenda-web-nav {
                order: 2;
                width: 100%;
            }

            .agenda-web-actions {
                order: 3;
                width: 100%;
            }

            .agenda-summary-floating {
                position: static !important;
                left: auto !important;
                top: auto !important;
                width: auto !important;
                transform: none !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }
        }


        /* Topo da Agenda em duas linhas */
        .agenda-top-row {
            width: 100%;
            display: grid;
            align-items: center;
            gap: 10px;
        }

        .agenda-top-row-compact {
            grid-template-columns: minmax(220px, 1.35fr) minmax(0, 3fr);
        }

        .agenda-top-row-main {
            grid-template-columns: minmax(420px, 1fr) auto;
        }

        .agenda-top-row-compact .agenda-toolbar-search input[type="search"] {
            height: 38px;
            padding: 0 12px;
            border-radius: 10px;
            font-size: 12px;
        }

        .agenda-summary-inline {
            position: static !important;
            left: auto !important;
            top: auto !important;
            width: auto !important;
            transform: none !important;
            z-index: auto !important;
            grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
            gap: 8px !important;
        }

        .agenda-summary-inline .agenda-summary-card {
            min-height: 42px !important;
            padding: 6px 9px !important;
            gap: 7px !important;
            border-radius: 11px !important;
            box-shadow: var(--shadow-sm);
        }

        .agenda-summary-inline .agenda-summary-icon {
            width: 28px !important;
            height: 28px !important;
            border-radius: 8px !important;
            font-size: 13px !important;
        }

        .agenda-summary-inline .agenda-summary-card strong {
            font-size: 14px !important;
            line-height: 1;
        }

        .agenda-summary-inline .agenda-summary-card span {
            margin-top: 2px !important;
            font-size: 7px !important;
            line-height: 1.15;
        }

        .agenda-top-row-main .agenda-web-nav {
            width: 100%;
            max-width: none;
            grid-template-columns: 46px minmax(260px, 1fr) 46px;
        }

        .agenda-top-row-main .agenda-date-main {
            min-height: 50px;
        }

        .agenda-top-row-main .agenda-web-actions {
            justify-content: flex-end;
        }

        @media (max-width: 980px) {
            .agenda-top-row-compact,
            .agenda-top-row-main {
                grid-template-columns: 1fr;
            }

            .agenda-summary-inline {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }

            .agenda-top-row-main .agenda-web-actions {
                width: 100%;
            }
        }


        /* Correções de layout da busca por cliente */
        .agenda-filter-item {
            grid-template-columns: 118px minmax(0, 1fr) auto !important;
            gap: 16px !important;
            align-items: center !important;
        }

        .agenda-filter-time {
            display: block;
            min-width: 0;
            color: var(--primary);
            font-size: 13px;
            font-weight: 900;
            line-height: 1.25;
            white-space: normal;
        }

        .agenda-filter-main {
            min-width: 0;
            overflow: hidden;
        }

        .agenda-filter-main strong,
        .agenda-filter-main span {
            display: block;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .agenda-filter-main strong {
            font-size: 12px;
        }

        .agenda-filter-main span {
            margin-top: 4px;
            font-size: 9px;
        }

        .agenda-filter-item .agenda-status {
            justify-self: end;
            align-self: center;
        }

        /* Indicadores compactos: rótulo ao lado do número, maior */
        .agenda-summary-inline .agenda-summary-card {
            display: grid !important;
            grid-template-columns: 28px auto minmax(0, 1fr) !important;
            align-items: center !important;
            column-gap: 7px !important;
        }

        .agenda-summary-inline .agenda-summary-card > div:last-child {
            display: contents;
        }

        .agenda-summary-inline .agenda-summary-card strong {
            grid-column: 2;
            font-size: 15px !important;
            line-height: 1 !important;
            margin: 0 !important;
        }

        .agenda-summary-inline .agenda-summary-card span {
            grid-column: 3;
            margin: 0 !important;
            font-size: 10px !important;
            line-height: 1.1 !important;
            color: var(--muted);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        @media (max-width: 700px) {
            .agenda-filter-item {
                grid-template-columns: 92px minmax(0, 1fr) !important;
            }

            .agenda-filter-item .agenda-status {
                grid-column: 2;
                justify-self: start;
                margin-top: 6px;
            }

            .agenda-summary-inline .agenda-summary-card {
                grid-template-columns: 28px auto minmax(0, 1fr) !important;
            }
        }

    

        /* Clientes Web */
        #screen-clientes { width:100%; max-width:none; margin:18px auto 0; padding:0; background:transparent; border:0; box-shadow:none; }
        .clients-shell { display:grid; gap:14px; }
        .clients-top, .clients-filter-card, .clients-table-card, .clients-detail-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); }
        .clients-top { padding:20px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
        .clients-top h2 { margin:0; color:var(--primary); font-size:22px; }
        .clients-top p { margin:5px 0 0; color:var(--muted); font-size:12px; }
        .clients-top-actions { display:flex; gap:9px; }
        .clients-top-actions .btn { width:auto; }
        .clients-filter-card { padding:16px 18px; }
        .clients-filter-grid { display:grid; grid-template-columns:minmax(280px,1fr) 210px auto; gap:12px; align-items:end; }
        .clients-table-card { overflow:hidden; }
        .clients-table-scroll { overflow:auto; }
        .clients-table { width:100%; border-collapse:collapse; table-layout:fixed; }
        .clients-table th { padding:11px 9px; background:#eef5fb; color:#5c6f86; font-size:10px; text-transform:uppercase; text-align:left; }
        .clients-table td { padding:11px 9px; border-bottom:1px solid #e9eff5; color:#26364a; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
        .clients-table tbody tr { cursor:pointer; }
        .clients-table tbody tr:hover td { background:#f7fbfe; }
        .clients-table th:nth-child(1), .clients-table td:nth-child(1) { width:7%; text-align:center; }
        .clients-table th:nth-child(2), .clients-table td:nth-child(2) { width:34%; }
        .clients-table th:nth-child(3), .clients-table td:nth-child(3) { width:16%; }
        .clients-table th:nth-child(4), .clients-table td:nth-child(4) { width:13%; text-align:center; }
        .clients-table th:nth-child(5), .clients-table td:nth-child(5) { width:16%; }
        .clients-table th:nth-child(6), .clients-table td:nth-child(6) { width:14%; }
        .client-status { display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; padding:5px 8px; border-radius:999px; font-size:9px; font-weight:900; }
        .client-status.ativo { color:#167454; background:#eaf8f1; }
        .client-status.bloqueado { color:#b83d3d; background:#fff0f0; }
        .client-status.negativado { color:#fff; background:#252b34; }
        .client-status.cancelado { color:#637184; background:#edf1f5; }
        .client-status.negociacao { color:#98640c; background:#fff5e4; }
        .client-status .status-mobile { display:none; }
        .clients-pagination { padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fafcfe; }
        .clients-pagination-actions { display:flex; gap:7px; }
        .clients-pagination button { border:1px solid var(--line); border-radius:9px; padding:7px 11px; background:#fff; color:var(--primary); font-size:10px; font-weight:800; cursor:pointer; }
        .clients-pagination button:disabled { opacity:.4; cursor:default; }
        .client-modal-backdrop { position:fixed; inset:0; z-index:180; display:none; place-items:center; padding:4px; background:rgba(9,28,48,.60); backdrop-filter:blur(7px); }
        .client-modal-backdrop.open { display:grid; }
        .client-modal { width:calc(100vw - 8px); max-width:none; max-height:calc(100vh - 8px); overflow-y:auto; overflow-x:hidden; background:#fff; border-radius:14px; box-shadow:0 28px 80px rgba(0,0,0,.28); }
        .client-modal-head { position:sticky; top:0; z-index:3; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:15px; background:#fff; border-bottom:1px solid var(--line); }
        .client-modal-head h3 { margin:0; color:var(--primary); font-size:20px; }
        .client-modal-close { width:38px; height:38px; border:1px solid var(--line); border-radius:11px; background:#fff; cursor:pointer; }
        .client-form { padding:18px 14px 22px; width:100%; max-width:100%; overflow-x:hidden; box-sizing:border-box; }
        .client-type-tabs { display:inline-grid; grid-template-columns:1fr 1fr; gap:4px; margin-bottom:15px; padding:4px; background:#eaf1f8; border-radius:12px; }
        .client-type-tab { border:0; border-radius:9px; padding:8px 14px; background:transparent; color:#61748a; font-size:11px; font-weight:850; cursor:pointer; }
        .client-type-tab.active { color:#fff; background:var(--primary); }
        .client-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; width:100%; min-width:0; }
        .client-form-grid .wide { grid-column:span 2; }
        .client-form-grid .full { grid-column:1/-1; }
        .client-inline-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; min-width:0; }
        .client-form textarea { width:100%; min-height:90px; padding:11px 13px; border:1px solid #cfdae7; border-radius:12px; resize:vertical; font:inherit; }
        .client-form-actions { margin-top:18px; display:flex; justify-content:flex-end; gap:9px; }
        .client-form-actions .btn { width:auto; }
        .client-error { margin-bottom:12px; }
        .client-detail-body { padding:14px 10px 18px; }
        .client-detail-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
        .client-kpi { padding:14px; background:#f7fafd; border:1px solid var(--line); border-radius:14px; }
        .client-kpi span { display:block; color:var(--muted); font-size:9px; }
        .client-kpi strong { display:block; margin-top:5px; color:var(--primary); font-size:17px; }
        .client-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
        .client-detail-section { padding:12px; min-width:0; border:1px solid var(--line); border-radius:15px; background:#fff; overflow:hidden; }
        .client-detail-section h4 { margin:0 0 11px; color:var(--primary); font-size:13px; }
        .client-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
        .client-info-item span { display:block; color:var(--muted); font-size:9px; }
        .client-info-item strong { display:block; margin-top:2px; color:#26364a; font-size:11px; word-break:break-word; }
        .client-history-scroll { height:360px; max-height:360px; overflow-y:auto; overflow-x:auto; scrollbar-gutter:stable; }
        .client-detail-notes { grid-column:1/-1; }
        .client-notes-scroll { min-height:6.8em; max-height:6.8em; overflow-y:auto; overflow-x:hidden; white-space:pre-wrap; color:#425970; font-size:11px; line-height:1.35; padding-right:5px; }
        .client-history-scroll .client-mini-table thead th { position:sticky; top:0; z-index:1; background:#fff; box-shadow:0 1px 0 #e8eef4; }
        .client-mini-table { width:100%; border-collapse:collapse; font-size:9px; }
        .client-mini-table th,.client-mini-table td { padding:7px 5px; border-bottom:1px solid #e8eef4; text-align:left; }
        .client-mini-table td:last-child,.client-mini-table th:last-child { text-align:right; }
        .client-detail-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
        .client-detail-actions .btn { width:auto; }
        @media(max-width:780px){
            html,body{overflow-x:hidden;max-width:100%}
            #screen-clientes{margin:8px 4px;width:auto;max-width:calc(100vw - 8px);overflow-x:hidden}.clients-top{align-items:flex-start;flex-direction:column;padding:15px}.clients-top-actions{width:100%}.clients-top-actions .btn{flex:1}.clients-filter-grid{grid-template-columns:1fr}.clients-table th,.clients-table td{padding:7px 3px;font-size:7px;white-space:normal;overflow-wrap:anywhere}.clients-table th:nth-child(1),.clients-table td:nth-child(1){width:9%}.clients-table th:nth-child(2),.clients-table td:nth-child(2){width:31%}.clients-table th:nth-child(3),.clients-table td:nth-child(3){width:18%}.clients-table th:nth-child(4),.clients-table td:nth-child(4){width:15%}.clients-table th:nth-child(5),.clients-table td:nth-child(5){width:16%}.clients-table th:nth-child(6),.clients-table td:nth-child(6){width:11%}.client-status{font-size:8px;padding:4px 3px;white-space:nowrap;justify-content:center;line-height:1}.client-status .status-desktop{display:none}.client-status .status-mobile{display:inline}.client-modal-backdrop{padding:0;align-items:stretch;overflow-x:hidden}.client-modal{width:100%;max-width:100vw;max-height:none;min-height:100%;border-radius:0;overflow-x:hidden}.client-modal-head,.client-form,.client-detail-body{max-width:100%;box-sizing:border-box}.client-form{padding-left:10px;padding-right:10px}.client-form-grid{grid-template-columns:minmax(0,1fr);width:100%;overflow-x:hidden}.client-form-grid>*{min-width:0;max-width:100%}.client-form-grid input,.client-form-grid select,.client-form-grid textarea{min-width:0;max-width:100%;box-sizing:border-box}.client-form-grid .wide,.client-form-grid .full{grid-column:auto}.client-detail-summary{grid-template-columns:1fr 1fr}.client-detail-grid{grid-template-columns:minmax(0,1fr)}.client-detail-notes{grid-column:auto;order:99}.client-history-scroll{height:330px;max-height:330px}.client-info-grid{grid-template-columns:1fr}.clients-pagination{align-items:stretch;flex-direction:column}.clients-pagination-actions{display:grid;grid-template-columns:1fr 1fr}}

@media (max-width: 980px) { .app-sidebar { display:none !important; } }

/* ===== Clientes moderno ===== */
#screen-clientes { margin-top:0; }
.clients-shell { gap:16px; }
.clients-top { padding:22px 2px 10px; border:0; box-shadow:none; background:transparent; }
.clients-top h2 { font-size:28px; letter-spacing:-.04em; }
.clients-top p { font-size:13px; }
.clients-top-actions .btn { min-width:112px; }
.clients-filter-card { padding:18px 20px; border-radius:16px; }
.clients-filter-grid { grid-template-columns:minmax(320px,1.35fr) minmax(220px,.55fr) 155px; }
.clients-filter-grid .field { margin-bottom:0; }
.clients-filter-grid input { padding-left:42px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235b7690' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:14px center; }
.clients-table-card { border-radius:16px; }
.clients-table-scroll { overflow-x:hidden; }
.clients-table th { padding:14px 12px; font-size:9px; letter-spacing:.02em; }
.clients-table td { padding:14px 12px; font-size:11px; }
.clients-table td:nth-child(2) strong { color:var(--primary); font-size:11px; }
.clients-table th:nth-child(1), .clients-table td:nth-child(1) { width:6%; }
.clients-table th:nth-child(2), .clients-table td:nth-child(2) { width:31%; }
.clients-table th:nth-child(3), .clients-table td:nth-child(3) { width:17%; }
.clients-table th:nth-child(4), .clients-table td:nth-child(4) { width:13%; }
.clients-table th:nth-child(5), .clients-table td:nth-child(5) { width:16%; }
.clients-table th:nth-child(6), .clients-table td:nth-child(6) { width:14%; }
.clients-table th:nth-child(7), .clients-table td:nth-child(7) { width:3%; text-align:center; }
.client-row-arrow { color:#2e5a80; font-size:18px; line-height:1; }
.client-status { min-width:76px; }
.clients-pagination { padding:15px 18px; }
@media (max-width:780px){
    .clients-top { padding:15px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
    .clients-top h2 { font-size:22px; }
    .clients-filter-grid input { padding-left:13px; background-image:none; }
    .clients-table th:nth-child(7),.clients-table td:nth-child(7){display:none}
    .clients-table th:nth-child(1),.clients-table td:nth-child(1){width:9%}
    .clients-table th:nth-child(2),.clients-table td:nth-child(2){width:31%}
    .clients-table th:nth-child(3),.clients-table td:nth-child(3){width:18%}
    .clients-table th:nth-child(4),.clients-table td:nth-child(4){width:15%}
    .clients-table th:nth-child(5),.clients-table td:nth-child(5){width:16%}
    .clients-table th:nth-child(6),.clients-table td:nth-child(6){width:11%}
    .client-status{min-width:0}
}


/* ===== Desktop layout igual ao mockup dos clientes ===== */
@media (min-width: 981px) {
  body.logged-app { background:#f6f8fb; }
  body.logged-app .shell { max-width:none; margin:0; padding:0; }
  body.logged-app .card { min-height:100vh; }
  body.logged-app .card-header { position:sticky; top:0; z-index:90; overflow:visible; border:0; border-bottom:1px solid #e6edf5; border-radius:0; box-shadow:none; backdrop-filter:none; background:rgba(255,255,255,.98); }
  body.logged-app .app-topbar { min-height:74px; padding:0 20px 0 18px; gap:16px; }
  body.logged-app .topbar-left { display:flex; align-items:center; gap:18px; }
  body.logged-app .brand { gap:14px; }
  body.logged-app .brand-mark { width:44px; height:44px; border-radius:12px; box-shadow:none; }
  body.logged-app .brand-mark::after { border-color:#dfe8f2; }
  body.logged-app .brand-title { font-size:18px; font-weight:800; }
  body.logged-app .brand-sub { display:none !important; }
  body.logged-app .topbar-toggle { width:40px; height:40px; display:grid; place-items:center; border:0; border-radius:10px; background:transparent; color:#6b7f95; cursor:pointer; }
  body.logged-app .topbar-toggle:hover { background:#f3f7fb; color:var(--primary); }
  body.logged-app .topbar-toggle svg { width:22px; height:22px; }
  body.logged-app .connection-chip { display:none; }
  body.logged-app .step-indicator { margin-left:8px; }
  body.logged-app .top-user { gap:10px; padding:10px 0 10px 14px; }
  body.logged-app .top-user-copy strong { max-width:none; font-size:13px; color:var(--primary); }
  body.logged-app .top-user-caret { color:#73869a; font-size:12px; }
  body.logged-app .avatar { width:38px; height:38px; font-size:14px; border-width:0; }
  body.logged-app .app-nav { display:none !important; }

  body.logged-app .app-sidebar { position:fixed; top:75px; left:0; bottom:0; width:266px; display:flex; flex-direction:column; padding:18px 12px 12px; background:#fff; border-right:1px solid #e6edf5; z-index:80; overflow-y:auto; overflow-x:hidden; }
  body.logged-app .app-sidebar.hidden { display:none !important; }
  body.logged-app .sidebar-nav { display:grid; gap:4px; margin-top:0; }
  body.logged-app .sidebar-brand { display:none; }
  body.logged-app .sidebar-btn { min-height:48px; padding:0 14px; gap:12px; border-radius:12px; color:#233f67; font-size:14px; font-weight:650; }
  body.logged-app .sidebar-btn svg { width:20px; height:20px; flex:0 0 20px; color:#5f7690; }
  body.logged-app .sidebar-btn span { width:auto; color:inherit; font-size:inherit; }
  body.logged-app .sidebar-btn:hover { background:#f5f9fd; color:#0f325f; }
  body.logged-app .sidebar-btn.active { color:#0d66d0; background:#edf5ff; }
  body.logged-app .sidebar-btn.active svg { color:#0d66d0; }
  body.logged-app .sidebar-logout { margin-top:8px; color:#244066; }
  body.logged-app .sidebar-user { margin-top:auto; padding:16px 14px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; border:0; border-radius:16px; background:#f8fafc; }
  body.logged-app .sidebar-user-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#fff; color:#244066; box-shadow:inset 0 0 0 1px #dfe8f2; }
  body.logged-app .sidebar-user-icon svg { width:24px; height:24px; }
  body.logged-app .sidebar-user-copy strong { display:block; color:#244066; font-size:13px; }
  body.logged-app .sidebar-user-copy span { display:block; margin-top:4px; max-width:none; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#4d6581; font-size:12px; }
  body.logged-app .sidebar-user-arrow { color:#637b95; font-size:12px; }

  body.logged-app.sidebar-collapsed .app-sidebar { width:86px; }
  body.logged-app.sidebar-collapsed .sidebar-btn span,
  body.logged-app.sidebar-collapsed .sidebar-user-copy,
  body.logged-app.sidebar-collapsed .sidebar-user-arrow { display:none; }
  body.logged-app.sidebar-collapsed .sidebar-btn { justify-content:center; padding:0; }
  body.logged-app.sidebar-collapsed .sidebar-user { grid-template-columns:1fr; justify-items:center; }

  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    width:auto; max-width:none; margin:0 0 0 266px; padding:24px 34px 26px; background:transparent; border:0; border-radius:0; box-shadow:none;
  }
  body.logged-app.sidebar-collapsed .card > .screen:not(#screen-login):not(#screen-device-auth) { margin-left:86px; }
  body.logged-app #screen-menu, body.logged-app #screen-clientes, body.logged-app #screen-financeiro, body.logged-app #screen-agenda, body.logged-app #screen-rel-login, body.logged-app #screen-rel-list, body.logged-app #screen-rel-dynamic { margin-top:0; }

  body.logged-app #screen-clientes { padding-top:26px; }
  body.logged-app .clients-shell { gap:18px; }
  body.logged-app .clients-top { padding:0 2px 6px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; background:transparent; border:0; box-shadow:none; }
  body.logged-app .clients-top h2 { margin:0; font-size:30px; line-height:1.05; letter-spacing:-.04em; color:#0f2d5c; }
  body.logged-app .clients-top p { margin-top:8px; font-size:14px; color:#516985; }
  body.logged-app .clients-top-actions { display:flex; gap:14px; }
  body.logged-app .clients-top-actions .btn { min-height:52px; padding:0 22px; border-radius:14px; font-size:15px; font-weight:800; display:inline-flex; width:auto; box-shadow:none; }
  body.logged-app .clients-top-actions .btn svg { width:18px; height:18px; }
  body.logged-app .clients-top-actions #cli-voltar { color:#0f2d5c; border:1px solid #cfdceb; background:#fff; }
  body.logged-app .clients-top-actions #cli-novo { background:linear-gradient(135deg,#0c4b96,#0a3f86); }
  body.logged-app .clients-filter-card { padding:20px 22px; border-radius:18px; box-shadow:0 10px 30px rgba(20,42,74,.06); }
  body.logged-app .clients-filter-grid { grid-template-columns:minmax(360px,1.65fr) minmax(240px,.95fr) 160px; gap:16px; align-items:end; }
  body.logged-app .clients-filter-grid label { margin-bottom:8px; font-size:12px; color:#213d66; }
  body.logged-app .clients-filter-grid input, body.logged-app .clients-filter-grid select { min-height:48px; border-radius:13px; font-size:13px; background-color:#fff; }
  body.logged-app .clients-filter-grid input { padding-left:46px; }
  body.logged-app .clients-filter-grid #cli-filtrar { min-height:48px; border-radius:13px; font-size:14px; box-shadow:0 10px 24px rgba(14,69,137,.18); }
  body.logged-app .clients-filter-grid #cli-filtrar svg { width:17px; height:17px; }
  body.logged-app .clients-table-card { border-radius:18px; box-shadow:0 10px 30px rgba(20,42,74,.06); }
  body.logged-app .clients-table th { padding:16px 16px; background:#f4f8fc; color:#516a88; font-size:11px; font-weight:800; text-transform:uppercase; }
  body.logged-app .clients-table td { padding:18px 16px; font-size:14px; color:#17345d; }
  body.logged-app .clients-table tbody tr:hover td { background:#f9fbfd; }
  body.logged-app .clients-table td:nth-child(2) strong { font-size:14px; font-weight:700; }
  body.logged-app .clients-table th:nth-child(1), body.logged-app .clients-table td:nth-child(1) { width:6%; }
  body.logged-app .clients-table th:nth-child(2), body.logged-app .clients-table td:nth-child(2) { width:32%; }
  body.logged-app .clients-table th:nth-child(3), body.logged-app .clients-table td:nth-child(3) { width:15%; }
  body.logged-app .clients-table th:nth-child(4), body.logged-app .clients-table td:nth-child(4) { width:13%; }
  body.logged-app .clients-table th:nth-child(5), body.logged-app .clients-table td:nth-child(5) { width:15%; }
  body.logged-app .clients-table th:nth-child(6), body.logged-app .clients-table td:nth-child(6) { width:16%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  body.logged-app .clients-table th:nth-child(7), body.logged-app .clients-table td:nth-child(7) { width:3%; text-align:center; }
  body.logged-app .client-status { min-width:102px; padding:6px 14px; border-radius:999px; font-size:12px; font-weight:800; }
  body.logged-app .client-row-arrow { font-size:22px; color:#214a74; }
  body.logged-app .clients-pagination { display:grid; grid-template-columns:minmax(250px,1fr) auto auto; align-items:center; gap:18px; padding:18px 22px; }
  body.logged-app #cli-page-info { color:#4c6683; font-size:13px; }
  body.logged-app .clients-pagination-center { display:flex; align-items:center; gap:10px; justify-content:center; }
  body.logged-app .clients-page-nav, body.logged-app .clients-page-buttons button { min-width:36px; height:36px; padding:0 12px; border:1px solid #d8e3ef; border-radius:10px; background:#fff; color:#26476f; font-size:14px; font-weight:800; cursor:pointer; }
  body.logged-app .clients-page-nav[disabled], body.logged-app .clients-page-buttons button[disabled] { opacity:.45; cursor:default; }
  body.logged-app .clients-page-buttons { display:flex; align-items:center; gap:10px; }
  body.logged-app .clients-page-buttons .active { background:#0c4c97; border-color:#0c4c97; color:#fff; box-shadow:0 10px 24px rgba(12,76,151,.18); }
  body.logged-app .clients-page-buttons .ellipsis { min-width:22px; text-align:center; color:#617995; font-weight:800; }
  body.logged-app .clients-page-size select { min-height:36px; width:136px; padding:0 14px; border-radius:10px; font-size:13px; }
}


/* ===== Correção estrutural definitiva: sem sobreposição ===== */
@media (min-width: 981px) {
  body.logged-app .shell {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:100vh;
    padding:0 !important;
    margin:0 !important;
  }
  body.logged-app .shell > .card {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
  }
  body.logged-app .card-header {
    display:block !important;
    width:100%;
  }
  body.logged-app .app-sidebar {
    position:fixed !important;
    left:0 !important;
    top:75px !important;
    bottom:0 !important;
    width:266px !important;
    height:auto !important;
    margin:0 !important;
    z-index:80 !important;
  }
  body.logged-app.sidebar-collapsed .app-sidebar { width:86px !important; }
  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    box-sizing:border-box !important;
    margin-left:266px !important;
    margin-right:0 !important;
    width:calc(100% - 266px) !important;
    max-width:none !important;
    min-width:0 !important;
  }
  body.logged-app.sidebar-collapsed .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left:86px !important;
    width:calc(100% - 86px) !important;
  }
  body.logged-app #screen-clientes {
    padding:26px 34px 30px !important;
    overflow:visible !important;
  }
  body.logged-app .clients-shell {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  body.logged-app .clients-table-scroll { width:100%; min-width:0; overflow-x:auto; }
  body.logged-app .clients-table { min-width:900px; }
  body.logged-app .sidebar-nav { gap:1px !important; }
  body.logged-app .sidebar-btn { min-height:39px !important; font-size:12.5px !important; }
  body.logged-app .sidebar-btn svg { width:18px !important; height:18px !important; }
  body.logged-app .sidebar-user { padding:11px 12px !important; }
}

@media (min-width: 981px) and (max-height: 760px) {
  body.logged-app .app-sidebar { padding-top:8px !important; padding-bottom:8px !important; }
  body.logged-app .sidebar-btn { min-height:36px !important; }
  body.logged-app .sidebar-user { position:sticky; bottom:0; margin-top:8px; }
}


/* ===== Ajustes finos pedidos pelo usuário (menu flat + sem zoom + sem gap) ===== */
@media (min-width: 981px) {
  body.logged-app .card-header,
  body.logged-app .card-header:hover,
  body.logged-app .card-header:focus-within {
    transform:none !important;
    box-shadow:none !important;
  }
  body.logged-app .app-topbar,
  body.logged-app .card-header:hover .app-topbar,
  body.logged-app .card-header:focus-within .app-topbar {
    min-height:74px !important;
    padding:0 20px 0 18px !important;
    transform:none !important;
    box-shadow:none !important;
  }
  body.logged-app .brand,
  body.logged-app .brand:hover,
  body.logged-app .brand:focus-within,
  body.logged-app .card-header:hover .brand,
  body.logged-app .card-header:focus-within .brand,
  body.logged-app .brand-mark,
  body.logged-app .card-header:hover .brand-mark,
  body.logged-app .card-header:focus-within .brand-mark,
  body.logged-app .brand-title,
  body.logged-app .card-header:hover .brand-title,
  body.logged-app .card-header:focus-within .brand-title,
  body.logged-app .brand-sub,
  body.logged-app .card-header:hover .brand-sub,
  body.logged-app .card-header:focus-within .brand-sub {
    transform:none !important;
    scale:1 !important;
    letter-spacing:inherit !important;
    box-shadow:none !important;
    filter:none !important;
  }
  body.logged-app .card-header:hover .app-nav,
  body.logged-app .card-header:focus-within .app-nav {
    max-height:0 !important;
    padding:0 !important;
    opacity:0 !important;
  }

  body.logged-app .app-sidebar {
    top:74px !important;
    width:264px !important;
    padding:18px 10px 16px !important;
    background:#fff !important;
    border-right:1px solid #e6edf5 !important;
    box-shadow:none !important;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:#cdd8e5 transparent;
  }
  body.logged-app .app-sidebar::-webkit-scrollbar { width:8px; }
  body.logged-app .app-sidebar::-webkit-scrollbar-thumb { background:#d7e1ec; border-radius:999px; }
  body.logged-app .sidebar-nav {
    gap:6px !important;
  }
  body.logged-app .sidebar-btn,
  body.logged-app .sidebar-btn:hover,
  body.logged-app .sidebar-btn:focus-visible {
    appearance:none !important;
    -webkit-appearance:none !important;
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    text-decoration:none !important;
    border-radius:12px !important;
    background:transparent !important;
    color:#223e66 !important;
    font-size:14px !important;
    font-weight:500 !important;
    text-align:left !important;
  }
  body.logged-app .sidebar-btn svg {
    width:19px !important;
    height:19px !important;
    flex:0 0 19px !important;
    color:#627b97 !important;
  }
  body.logged-app .sidebar-btn span {
    display:block !important;
    width:auto !important;
    color:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:1 !important;
  }
  body.logged-app .sidebar-btn:hover { background:#f6f9fd !important; color:#16345c !important; }
  body.logged-app .sidebar-btn:hover svg { color:#4f6985 !important; }
  body.logged-app .sidebar-btn.active {
    background:#eaf4ff !important;
    color:#0d66d0 !important;
    font-weight:700 !important;
  }
  body.logged-app .sidebar-btn.active svg { color:#0d66d0 !important; }
  body.logged-app .sidebar-logout { margin-top:8px !important; }
  body.logged-app .sidebar-user { display:none !important; }

  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left:264px !important;
    padding:8px 34px 24px !important;
  }
  body.logged-app.sidebar-collapsed .card > .screen:not(#screen-login):not(#screen-device-auth) { margin-left:86px !important; }
  body.logged-app #screen-clientes {
    padding-top:2px !important;
    margin-top:0 !important;
  }
  body.logged-app .clients-shell { gap:12px !important; }
  body.logged-app .clients-top { padding:0 2px 2px !important; }
  body.logged-app .clients-filter-card { margin-top:0 !important; }
}


/* ===== Ajustes finais de menu e padronização global ===== */
@media (min-width: 981px) {
  body.logged-app .card-header,
  body.logged-app .app-topbar,
  body.logged-app .card-header:hover .app-topbar,
  body.logged-app .card-header:focus-within .app-topbar {
    min-height:62px !important;
    height:62px !important;
    padding:0 18px 0 18px !important;
  }
  body.logged-app .app-sidebar { top:62px !important; width:248px !important; padding:16px 10px 14px !important; }
  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) { margin-left:248px !important; padding:6px 30px 22px !important; }
  body.logged-app.sidebar-collapsed .app-sidebar { width:74px !important; }
  body.logged-app.sidebar-collapsed .card > .screen:not(#screen-login):not(#screen-device-auth) { margin-left:74px !important; }
  body.logged-app.sidebar-collapsed .sidebar-btn { justify-content:center !important; padding:0 !important; }
  body.logged-app.sidebar-collapsed .sidebar-btn span { display:none !important; }
  body.logged-app.sidebar-collapsed .sidebar-nav { gap:8px !important; }

  body.logged-app .brand,
  body.logged-app .brand:hover,
  body.logged-app .brand:focus,
  body.logged-app .brand:active,
  body.logged-app .sidebar-btn,
  body.logged-app .sidebar-btn:hover,
  body.logged-app .sidebar-btn:active,
  body.logged-app .sidebar-logout,
  body.logged-app .sidebar-logout:hover {
    transform:none !important;
    transition:background-color .15s ease,color .15s ease !important;
    box-shadow:none !important;
  }

  body.logged-app .brand-mark { width:38px !important; height:38px !important; border-radius:11px !important; }
  body.logged-app .brand-title { font-size:17px !important; }
  body.logged-app .topbar-toggle { width:34px !important; height:34px !important; }
  body.logged-app .top-user { padding:0 0 0 10px !important; }
  body.logged-app .avatar { width:36px !important; height:36px !important; font-size:13px !important; }
  body.logged-app .top-user-copy strong { font-size:12px !important; }

  body.logged-app #screen-clientes,
  body.logged-app #screen-financeiro,
  body.logged-app #screen-agenda,
  body.logged-app #screen-rel-login,
  body.logged-app #screen-rel-list,
  body.logged-app #screen-rel-dynamic { padding-top:0 !important; }

  /* Padronização das telas */
  body.logged-app .finance-shell,
  body.logged-app .agenda-web-shell { gap:12px !important; }

  body.logged-app .finance-top,
  body.logged-app .agenda-web-top {
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 2px 2px !important;
    border-radius:0 !important;
  }
  body.logged-app .finance-top h2,
  body.logged-app .agenda-web-brand h2 { font-size:30px !important; line-height:1.05 !important; letter-spacing:-.04em !important; color:#0f2d5c !important; }
  body.logged-app .finance-top p,
  body.logged-app .agenda-web-brand p { margin-top:8px !important; font-size:14px !important; color:#516985 !important; }

  body.logged-app .finance-filter-card,
  body.logged-app .finance-table-card,
  body.logged-app .agenda-web-card,
  body.logged-app .clients-filter-card,
  body.logged-app .clients-table-card {
    border:1px solid #e3ebf4 !important;
    border-radius:18px !important;
    box-shadow:0 10px 30px rgba(20,42,74,.06) !important;
    background:#fff !important;
  }
  body.logged-app .finance-filter-card,
  body.logged-app .agenda-web-card { padding:20px 22px !important; }
  body.logged-app .finance-summary-card,
  body.logged-app .agenda-summary-card {
    border:1px solid #e3ebf4 !important;
    border-radius:16px !important;
    box-shadow:0 8px 24px rgba(20,42,74,.06) !important;
    background:#fff !important;
  }
  body.logged-app .finance-tabs .finance-tab,
  body.logged-app .agenda-web-actions .btn,
  body.logged-app .agenda-web-nav button,
  body.logged-app .agenda-today,
  body.logged-app .finance-filter-card .btn,
  body.logged-app .finance-table-card .btn,
  body.logged-app .agenda-web-card .btn {
    border-radius:13px !important;
  }
  body.logged-app .finance-table-card { overflow:hidden !important; }
  body.logged-app .finance-table thead th { background:#f4f8fc !important; }
  body.logged-app .finance-table tbody td { background:#fff !important; }

  /* tira sensação de card arredondado externo do conteúdo */
  body.logged-app .card { border-radius:0 !important; box-shadow:none !important; }
  body.logged-app .screen { border-radius:0 !important; box-shadow:none !important; }
}


/* ===== V8: agenda restaurada, escala correta e páginas realmente padronizadas ===== */
@media (min-width: 981px) {
  body.logged-app .card-header,
  body.logged-app .app-topbar,
  body.logged-app .card-header:hover .app-topbar,
  body.logged-app .card-header:focus-within .app-topbar {
    min-height:58px !important;
    height:58px !important;
  }
  body.logged-app .app-sidebar { top:58px !important; }

  /* Escala da tela Clientes: aparência próxima de 100%, não 120% */
  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    padding:4px 26px 20px !important;
  }
  body.logged-app .clients-top h2,
  body.logged-app .finance-top h2,
  body.logged-app .agenda-web-brand h2 {
    font-size:26px !important;
  }
  body.logged-app .clients-top p,
  body.logged-app .finance-top p,
  body.logged-app .agenda-web-brand p {
    margin-top:6px !important;
    font-size:12px !important;
  }
  body.logged-app .clients-top-actions .btn {
    min-height:44px !important;
    padding:0 17px !important;
    border-radius:12px !important;
    font-size:13px !important;
  }
  body.logged-app .clients-filter-card {
    padding:15px 17px !important;
  }
  body.logged-app .clients-filter-grid {
    gap:12px !important;
    grid-template-columns:minmax(300px,1.55fr) minmax(210px,.85fr) 145px !important;
  }
  body.logged-app .clients-filter-grid label { margin-bottom:6px !important; font-size:10.5px !important; }
  body.logged-app .clients-filter-grid input,
  body.logged-app .clients-filter-grid select,
  body.logged-app .clients-filter-grid #cli-filtrar {
    min-height:42px !important;
    font-size:12px !important;
    border-radius:11px !important;
  }
  body.logged-app .clients-table th {
    padding:12px 13px !important;
    font-size:9px !important;
  }
  body.logged-app .clients-table td {
    padding:13px 13px !important;
    font-size:11.5px !important;
  }
  body.logged-app .clients-table td:nth-child(2) strong { font-size:11.5px !important; }
  body.logged-app .client-status {
    min-width:84px !important;
    padding:5px 10px !important;
    font-size:10px !important;
  }
  body.logged-app .clients-pagination { padding:12px 16px !important; }

  /* Estrutura comum de todas as páginas principais */
  body.logged-app #screen-clientes,
  body.logged-app #screen-financeiro,
  body.logged-app #screen-agenda,
  body.logged-app #screen-consulta-preco,
  body.logged-app #screen-vendedor,
  body.logged-app #screen-itens,
  body.logged-app #screen-final,
  body.logged-app #screen-rel-login,
  body.logged-app #screen-rel-list,
  body.logged-app #screen-rel-dynamic {
    width:auto !important;
    max-width:none !important;
    margin-top:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  /* Mesma linguagem visual em Clientes, Financeiro e Agenda */
  body.logged-app .clients-filter-card,
  body.logged-app .clients-table-card,
  body.logged-app .finance-filter-card,
  body.logged-app .finance-table-card,
  body.logged-app .agenda-web-card {
    border:1px solid #dde7f1 !important;
    border-radius:14px !important;
    box-shadow:none !important;
    background:#fff !important;
  }
  body.logged-app .finance-top,
  body.logged-app .agenda-web-top,
  body.logged-app .clients-top {
    min-height:54px !important;
    padding:0 2px 4px !important;
  }
  body.logged-app .finance-filter-card { padding:15px 17px !important; }
  body.logged-app .finance-summary { gap:9px !important; }
  body.logged-app .finance-summary-card {
    padding:12px 13px !important;
    border:1px solid #dde7f1 !important;
    border-radius:12px !important;
    box-shadow:none !important;
  }
  body.logged-app .finance-summary-card strong { font-size:16px !important; }
  body.logged-app .finance-table th { font-size:9px !important; padding:10px 6px !important; }
  body.logged-app .finance-table td { font-size:10px !important; padding:10px 6px !important; }
  body.logged-app .agenda-summary-card {
    border:1px solid #dde7f1 !important;
    border-radius:12px !important;
    box-shadow:none !important;
  }
  body.logged-app .agenda-web-card { padding:0 !important; }
  body.logged-app .agenda-web-card-head { padding:14px 17px !important; }
  body.logged-app .agenda-timeline { padding:10px 16px 18px !important; }

  /* Sem zoom/transform em topo e item Sair */
  body.logged-app .card-header *,
  body.logged-app .sidebar-logout,
  body.logged-app .sidebar-logout * {
    transform:none !important;
  }
}


/* ===== Menu final solicitado ===== */
@media (min-width: 981px) {
  body.logged-app .app-sidebar {
    display:flex !important;
    flex-direction:column !important;
  }
  body.logged-app .sidebar-nav {
    flex:0 0 auto !important;
  }
  body.logged-app .sidebar-bottom {
    margin-top:auto !important;
    display:grid !important;
    gap:8px !important;
    padding-top:14px !important;
  }
  body.logged-app .sidebar-collapse-btn {
    width:100% !important;
    min-height:42px !important;
    padding:0 16px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    color:#223e66 !important;
    font-size:14px !important;
    font-weight:500 !important;
    cursor:pointer !important;
    box-shadow:none !important;
    transform:none !important;
  }
  body.logged-app .sidebar-collapse-btn:hover {
    background:#f6f9fd !important;
    transform:none !important;
    box-shadow:none !important;
  }
  body.logged-app .sidebar-collapse-btn svg {
    width:19px !important;
    height:19px !important;
    flex:0 0 19px !important;
    color:#627b97 !important;
  }
  body.logged-app .sidebar-logout {
    margin:0 !important;
  }
  body.logged-app .sidebar-logout:hover,
  body.logged-app .sidebar-logout:focus,
  body.logged-app .sidebar-logout:active {
    transform:none !important;
    scale:1 !important;
    box-shadow:none !important;
  }
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn {
    justify-content:center !important;
    padding:0 !important;
  }
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn span {
    display:none !important;
  }
  body.logged-app .brand-home {
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    cursor:pointer !important;
    text-align:left !important;
    transform:none !important;
    box-shadow:none !important;
  }
  body.logged-app .brand-home:hover,
  body.logged-app .brand-home:focus,
  body.logged-app .brand-home:active,
  body.logged-app .brand-home:hover .brand-mark,
  body.logged-app .brand-home:hover .brand-title {
    transform:none !important;
    scale:1 !important;
    box-shadow:none !important;
    filter:none !important;
  }
  body.logged-app .top-user {
    gap:0 !important;
  }
  body.logged-app .top-user-copy {
    padding-right:4px !important;
  }
  body.logged-app .avatar,
  body.logged-app .top-user-caret {
    display:none !important;
  }
}


/* ===== Ajustes desktop/mobile solicitados em 27/07 ===== */
@media (min-width: 981px) {
  /* remove a divisória visível no topo da sidebar */
  body.logged-app .app-sidebar {
    position:fixed !important;
  }
  body.logged-app .app-sidebar::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:2px;
    background:#fff;
    z-index:2;
  }
}

@media (max-width: 980px) {
  body.logged-app {
    background:#f6f8fb !important;
  }
  body.logged-app .shell,
  body.logged-app .card {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    min-height:100vh !important;
    overflow-x:hidden !important;
  }
  body.logged-app .card-header {
    position:sticky !important;
    top:0 !important;
    z-index:100 !important;
    border:0 !important;
    border-bottom:1px solid #e6edf5 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  body.logged-app .app-topbar,
  body.logged-app .card-header:hover .app-topbar,
  body.logged-app .card-header:focus-within .app-topbar {
    min-height:56px !important;
    height:auto !important;
    padding:8px 12px !important;
    gap:10px !important;
    background:#fff !important;
  }
  body.logged-app .topbar-left {
    min-width:0 !important;
  }
  body.logged-app .brand,
  body.logged-app .brand-home,
  body.logged-app .brand-home:hover,
  body.logged-app .brand-home:focus,
  body.logged-app .brand-home:active {
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
    padding:0 !important;
    margin:0 !important;
    min-width:0 !important;
  }
  body.logged-app .brand-mark {
    width:36px !important;
    height:36px !important;
    border-radius:10px !important;
    box-shadow:none !important;
  }
  body.logged-app .brand-mark::after {
    display:none !important;
  }
  body.logged-app .brand-title {
    font-size:16px !important;
    line-height:1.05 !important;
  }
  body.logged-app .brand-copy,
  body.logged-app .brand-title,
  body.logged-app .brand-title em {
    background:transparent !important;
  }
  body.logged-app .connection-chip,
  body.logged-app .step-indicator {
    display:none !important;
  }
  body.logged-app .top-user,
  body.logged-app .top-user.hidden {
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    padding:0 !important;
    margin-left:auto !important;
    background:transparent !important;
  }
  body.logged-app .top-user-copy {
    padding:0 !important;
  }
  body.logged-app .top-user-copy strong {
    max-width:150px !important;
    font-size:12px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* mobile: menu sempre aparente, sem opção de esconder */
  body.logged-app .app-sidebar,
  body.logged-app .app-sidebar.hidden,
  body.logged-app .sidebar-collapse-btn,
  body.logged-app #desktop-sidebar-toggle {
    display:none !important;
  }
  body.logged-app #app-nav,
  body.logged-app #app-nav.hidden,
  body.logged-app .card-header:hover .app-nav,
  body.logged-app .card-header:focus-within .app-nav {
    display:flex !important;
    max-height:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
    padding:0 10px 10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    gap:8px !important;
    scrollbar-width:none !important;
    background:#fff !important;
  }
  body.logged-app #app-nav::-webkit-scrollbar {
    display:none !important;
  }
  body.logged-app .nav-btn {
    flex:0 0 auto !important;
    min-height:34px !important;
    padding:7px 10px !important;
    border-radius:10px !important;
    background:#f5f8fc !important;
    color:#44617f !important;
    font-size:12px !important;
    font-weight:700 !important;
    box-shadow:none !important;
  }
  body.logged-app .nav-btn.active {
    background:#0d66d0 !important;
    color:#fff !important;
  }
  body.logged-app .nav-btn.nav-exit {
    margin-left:0 !important;
    color:#9d4545 !important;
  }

  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:10px 12px 18px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow-x:hidden !important;
  }
  body.logged-app #screen-clientes,
  body.logged-app #screen-financeiro,
  body.logged-app #screen-agenda,
  body.logged-app #screen-rel-login,
  body.logged-app #screen-rel-list,
  body.logged-app #screen-rel-dynamic,
  body.logged-app #screen-consulta-preco,
  body.logged-app #screen-vendedor,
  body.logged-app #screen-itens,
  body.logged-app #screen-final,
  body.logged-app #screen-menu {
    margin:0 !important;
    max-width:none !important;
    width:auto !important;
  }

  body.logged-app .clients-shell,
  body.logged-app .finance-shell,
  body.logged-app .agenda-web-shell {
    gap:10px !important;
  }
  body.logged-app .clients-top,
  body.logged-app .finance-top,
  body.logged-app .agenda-web-top {
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    padding:0 2px 2px !important;
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  body.logged-app .clients-top h2,
  body.logged-app .finance-top h2,
  body.logged-app .agenda-web-brand h2 {
    font-size:22px !important;
    line-height:1.1 !important;
  }
  body.logged-app .clients-top p,
  body.logged-app .finance-top p,
  body.logged-app .agenda-web-brand p {
    font-size:13px !important;
    margin-top:6px !important;
  }
  body.logged-app .clients-top-actions,
  body.logged-app .finance-head-actions,
  body.logged-app .agenda-web-actions {
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  body.logged-app .clients-top-actions .btn,
  body.logged-app .agenda-web-actions .btn {
    width:100% !important;
  }

  body.logged-app .clients-filter-card,
  body.logged-app .clients-table-card,
  body.logged-app .finance-filter-card,
  body.logged-app .finance-table-card,
  body.logged-app .agenda-web-card {
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body.logged-app .clients-filter-grid,
  body.logged-app .finance-filters-grid,
  body.logged-app .agenda-form-grid {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body.logged-app .clients-filter-grid > *,
  body.logged-app .finance-filters-grid > *,
  body.logged-app .agenda-form-grid > * {
    min-width:0 !important;
  }

  /* clientes mobile: tabela dentro do card, sem sair da tela */
  body.logged-app .clients-table-card { overflow-x:auto !important; }
  body.logged-app .clients-table {
    width:100% !important;
    min-width:620px !important;
  }
  body.logged-app .clients-table th,
  body.logged-app .clients-table td {
    font-size:11px !important;
    padding:10px 8px !important;
    white-space:nowrap !important;
  }
  body.logged-app .client-status { font-size:11px !important; padding:5px 8px !important; }
  body.logged-app .clients-pagination {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  body.logged-app .clients-pagination-center,
  body.logged-app .clients-page-buttons {
    flex-wrap:wrap !important;
    justify-content:center !important;
  }
  body.logged-app .clients-page-size select { width:100% !important; }

  /* financeiro mobile */
  body.logged-app .finance-filter-card { padding:14px !important; }
  body.logged-app .finance-summary {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  body.logged-app .finance-summary-card { min-width:0 !important; padding:12px !important; }
  body.logged-app .finance-table-card { overflow-x:auto !important; }
  body.logged-app .finance-table { min-width:760px !important; }

  /* agenda mobile */
  body.logged-app .agenda-toolbar { align-items:stretch !important; flex-direction:column !important; gap:10px !important; }
  body.logged-app .agenda-web-actions { grid-template-columns:1fr 1fr !important; }
  body.logged-app .agenda-web-nav { width:100% !important; grid-template-columns:42px minmax(0,1fr) 42px !important; }
  body.logged-app .agenda-summary-floating,
  body.logged-app .agenda-summary-grid {
    position:static !important;
    transform:none !important;
    width:auto !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  body.logged-app .agenda-summary-card {
    min-width:0 !important;
    padding:10px !important;
  }
  body.logged-app .agenda-web-card { overflow:hidden !important; }
  body.logged-app .agenda-web-card-head {
    padding:14px 14px 8px !important;
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:6px !important;
  }
  body.logged-app .agenda-legend { gap:8px !important; }
  body.logged-app .agenda-timeline { padding:10px 12px 16px !important; }
  body.logged-app .agenda-slot {
    grid-template-columns:54px minmax(0,1fr) !important;
    gap:8px !important;
    min-height:0 !important;
  }
  body.logged-app .agenda-slot-time { padding-top:14px !important; font-size:10px !important; }
  body.logged-app .agenda-slot-body,
  body.logged-app .agenda-appointment,
  body.logged-app .agenda-free { min-width:0 !important; }
  body.logged-app .agenda-appointment {
    padding:10px 10px !important;
    align-items:flex-start !important;
    gap:8px !important;
  }
  body.logged-app .agenda-appt-main,
  body.logged-app .agenda-appt-main strong,
  body.logged-app .agenda-appt-main span {
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    white-space:normal !important;
  }

  /* modais mobile */
  body.logged-app .client-modal,
  body.logged-app .agenda-modal {
    width:100% !important;
    max-width:100vw !important;
    min-height:auto !important;
    border-radius:16px 16px 0 0 !important;
  }
}


/* ===== Refinamento do menu lateral: largura, recolhimento e união com o topo ===== */
@media (min-width: 981px) {
  :root {
    --desktop-sidebar-open: 218px;
    --desktop-sidebar-closed: 58px;
    --desktop-sidebar-icon-left: 14px;
  }

  /* Remove a linha horizontal entre o cabeçalho e o menu lateral. */
  body.logged-app .card-header,
  body.logged-app .card-header:hover,
  body.logged-app .card-header:focus-within {
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  body.logged-app .app-sidebar {
    width: var(--desktop-sidebar-open) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }

  body.logged-app .app-sidebar::before {
    display: none !important;
    content: none !important;
  }

  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left: var(--desktop-sidebar-open) !important;
  }

  /* Ícone mantém exatamente o mesmo X aberto ou recolhido. */
  body.logged-app .sidebar-btn,
  body.logged-app .sidebar-collapse-btn {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: initial !important;
    column-gap: 11px !important;
    min-height: 42px !important;
    padding: 0 var(--desktop-sidebar-icon-left) !important;
    text-align: left !important;
  }

  body.logged-app .sidebar-btn svg,
  body.logged-app .sidebar-collapse-btn svg {
    width: 19px !important;
    height: 19px !important;
    justify-self: start !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.logged-app .sidebar-btn span,
  body.logged-app .sidebar-collapse-btn span {
    min-width: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  body.logged-app.sidebar-collapsed .app-sidebar {
    width: var(--desktop-sidebar-closed) !important;
  }

  body.logged-app.sidebar-collapsed .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left: var(--desktop-sidebar-closed) !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-btn,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn {
    grid-template-columns: 20px 0 !important;
    justify-content: initial !important;
    padding-left: var(--desktop-sidebar-icon-left) !important;
    padding-right: 0 !important;
    column-gap: 0 !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-btn span,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn span {
    display: block !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}


/* ===== Correção definitiva: ícones imóveis ao recolher o menu ===== */
@media (min-width: 981px) {
  :root {
    --sidebar-icon-x: 14px;
    --sidebar-icon-size: 19px;
    --sidebar-text-x: 44px;
  }

  body.logged-app .sidebar-btn,
  body.logged-app .sidebar-collapse-btn {
    position: relative !important;
    display: block !important;
    padding: 0 10px 0 var(--sidebar-text-x) !important;
    min-height: 42px !important;
    line-height: 42px !important;
    box-sizing: border-box !important;
  }

  body.logged-app .sidebar-btn svg,
  body.logged-app .sidebar-collapse-btn svg {
    position: absolute !important;
    left: var(--sidebar-icon-x) !important;
    top: 50% !important;
    width: var(--sidebar-icon-size) !important;
    height: var(--sidebar-icon-size) !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }

  body.logged-app .sidebar-btn span,
  body.logged-app .sidebar-collapse-btn span {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 42px !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-btn,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn {
    padding: 0 !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-btn svg,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn svg {
    left: var(--sidebar-icon-x) !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-btn span,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn span {
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}


/* ===== Menu lateral estável: ícones fixos e texto sem sobreposição ===== */
@media (min-width: 981px) {
  :root {
    --menu-open-width: 218px;
    --menu-closed-width: 58px;
    --menu-icon-left: 14px;
    --menu-icon-size: 19px;
    --menu-label-left: 44px;
  }

  body.logged-app .app-sidebar {
    width: var(--menu-open-width) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow-x: hidden !important;
  }

  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left: var(--menu-open-width) !important;
  }

  body.logged-app .sidebar-btn,
  body.logged-app .sidebar-collapse-btn {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transform: none !important;
    transition: background-color .14s ease, color .14s ease !important;
    text-align: left !important;
  }

  body.logged-app .sidebar-btn:hover,
  body.logged-app .sidebar-btn:focus,
  body.logged-app .sidebar-btn:active,
  body.logged-app .sidebar-collapse-btn:hover,
  body.logged-app .sidebar-collapse-btn:focus,
  body.logged-app .sidebar-collapse-btn:active {
    transform: none !important;
    scale: 1 !important;
    box-shadow: none !important;
  }

  body.logged-app .sidebar-icon {
    position: absolute !important;
    left: var(--menu-icon-left) !important;
    top: 50% !important;
    width: var(--menu-icon-size) !important;
    height: var(--menu-icon-size) !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
  }

  body.logged-app .sidebar-icon svg {
    position: static !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.logged-app .sidebar-label {
    position: absolute !important;
    left: var(--menu-label-left) !important;
    right: 10px !important;
    top: 0 !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    transform: none !important;
  }

  body.logged-app.sidebar-collapsed .app-sidebar {
    width: var(--menu-closed-width) !important;
  }

  body.logged-app.sidebar-collapsed .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left: var(--menu-closed-width) !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-icon {
    left: var(--menu-icon-left) !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-label,
  body.logged-app.sidebar-collapsed .sidebar-btn:hover .sidebar-label,
  body.logged-app.sidebar-collapsed .sidebar-btn:focus .sidebar-label,
  body.logged-app.sidebar-collapsed .sidebar-btn:active .sidebar-label,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn:hover .sidebar-label,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn:focus .sidebar-label,
  body.logged-app.sidebar-collapsed .sidebar-collapse-btn:active .sidebar-label {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
  }
}


/* ===== Hotfix v14: preserva os ícones no menu recolhido ===== */
@media (min-width: 981px) {
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn > .sidebar-icon,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn > .sidebar-icon,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn:hover > .sidebar-icon,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn:focus > .sidebar-icon,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn:active > .sidebar-icon,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn:hover > .sidebar-icon,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn:focus > .sidebar-icon,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn:active > .sidebar-icon {
    display: block !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
  }

  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn > .sidebar-icon svg,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn > .sidebar-icon svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn > .sidebar-label,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn > .sidebar-label,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn:hover > .sidebar-label,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn:focus > .sidebar-label,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-btn:active > .sidebar-label,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn:hover > .sidebar-label,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn:focus > .sidebar-label,
  body.logged-app.sidebar-collapsed #app-sidebar .sidebar-collapse-btn:active > .sidebar-label {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
  }
}

/* ===== Ajuste v16: login sem cabeçalho e separador no topo do sistema ===== */
/* Antes do login, a marca já aparece dentro do próprio painel de acesso. */
body:not(.logged-app) .card-header {
  display: none !important;
}

body:not(.logged-app) .login-screen,
body:not(.logged-app) #screen-device-auth {
  margin-top: 0 !important;
}

@media (min-width: 981px) {
  /* Linha inferior da barra "Potência Sistemas", combinando com a borda direita do menu. */
  body.logged-app .card-header,
  body.logged-app .card-header:hover,
  body.logged-app .card-header:focus-within {
    border-bottom: 1px solid var(--line) !important;
  }
}


/* ===== Ajuste v17: toggle de tema + topo mais enxuto/sem barra pesada ===== */
.theme-toggle {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  color: var(--primary);
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow: 0 8px 18px rgba(16, 48, 82, .08);
}
.theme-toggle:hover {
  background: var(--surface-2);
  border-color: #cbd9e7;
}
.theme-toggle.active {
  color: #a15a00;
  background: #fff6d8;
  border-color: #f0d37d;
}
.theme-toggle-icon {
  font-size: 17px;
  line-height: 1;
}

@media (min-width: 981px) {
  body.logged-app .card-header,
  body.logged-app .card-header:hover,
  body.logged-app .card-header:focus-within {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.logged-app .app-topbar,
  body.logged-app .card-header:hover .app-topbar,
  body.logged-app .card-header:focus-within .app-topbar {
    min-height: 54px !important;
    height: 54px !important;
    padding: 0 18px 0 8px !important;
    border-bottom: 1px solid var(--line) !important;
    background: transparent !important;
  }

  body.logged-app .topbar-left {
    gap: 12px !important;
    margin-left: -2px !important;
  }

  body.logged-app .brand {
    gap: 10px !important;
  }

  body.logged-app .brand-mark {
    width: 36px !important;
    height: 36px !important;
  }

  body.logged-app .brand-title {
    font-size: 16px !important;
  }

  body.logged-app .top-user {
    padding-left: 8px !important;
  }

  body.logged-app .app-sidebar {
    top: 54px !important;
  }

  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    padding-top: 10px !important;
  }
}

/* ===== Modo noturno v17 ===== */
body.theme-dark {
  --primary: #edf4ff;
  --primary-2: #4fa0ff;
  --primary-soft: #10233b;
  --accent: #f5c518;
  --accent-soft: #3b3210;
  --bg: #07111e;
  --surface: #0b1728;
  --surface-2: #0f1d31;
  --text: #edf4ff;
  --muted: #90a3bf;
  --line: #1f3048;
  --success: #39d49a;
  --danger: #ff6767;
  --shadow-sm: 0 12px 30px rgba(0, 0, 0, .28);
  --shadow-md: 0 18px 50px rgba(0, 0, 0, .40);
  background:
    radial-gradient(circle at 90% 0%, rgba(42, 112, 194, .22), transparent 28%),
    radial-gradient(circle at 8% 100%, rgba(245, 197, 24, .07), transparent 24%),
    var(--bg);
  color: var(--text);
}

body.theme-dark .theme-toggle {
  background: #0e1d31;
  border-color: #2a3d59;
  color: #f9d56e;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .24);
}

body.theme-dark .theme-toggle:hover {
  background: #122641;
  border-color: #345178;
}

body.logged-app.theme-dark .brand-title,
body.logged-app.theme-dark .top-user-copy strong,
body.logged-app.theme-dark .finance-top h2,
body.logged-app.theme-dark .clients-top h2,
body.logged-app.theme-dark .agenda-web-brand h2,
body.logged-app.theme-dark .finance-table-head strong,
body.logged-app.theme-dark .clients-table td,
body.logged-app.theme-dark .section-title,
body.logged-app.theme-dark .pill strong,
body.logged-app.theme-dark .field label {
  color: #edf4ff !important;
}

body.logged-app.theme-dark .brand-mark {
  background: #11243a !important;
}

body.logged-app.theme-dark .brand-mark::after {
  border-color: rgba(255,255,255,.08) !important;
}

body.logged-app.theme-dark .app-topbar,
body.logged-app.theme-dark .card-header:hover .app-topbar,
body.logged-app.theme-dark .card-header:focus-within .app-topbar {
  border-bottom-color: rgba(96, 130, 176, .25) !important;
}

body.logged-app.theme-dark .app-sidebar {
  background: #081321 !important;
  border-right: 1px solid rgba(96, 130, 176, .22) !important;
}

body.logged-app.theme-dark .app-sidebar::-webkit-scrollbar-thumb {
  background: #20344e !important;
}

body.logged-app.theme-dark .sidebar-btn,
body.logged-app.theme-dark .sidebar-collapse-btn {
  color: #c9d8ee !important;
}

body.logged-app.theme-dark .sidebar-btn svg,
body.logged-app.theme-dark .sidebar-collapse-btn svg {
  color: #7f97b7 !important;
}

body.logged-app.theme-dark .sidebar-btn:hover,
body.logged-app.theme-dark .sidebar-collapse-btn:hover {
  background: #0f1e33 !important;
  color: #edf4ff !important;
}

body.logged-app.theme-dark .sidebar-btn.active {
  background: linear-gradient(135deg, #0d4a92, #1f84ff) !important;
  color: #ffffff !important;
}

body.logged-app.theme-dark .sidebar-btn.active svg {
  color: #ffffff !important;
}

body.logged-app.theme-dark .finance-top p,
body.logged-app.theme-dark .clients-top p,
body.logged-app.theme-dark .agenda-web-brand p,
body.logged-app.theme-dark .finance-table-head span,
body.logged-app.theme-dark .top-user-copy span,
body.logged-app.theme-dark .secure-note,
body.logged-app.theme-dark .field small,
body.logged-app.theme-dark .device-auth-hint {
  color: #90a3bf !important;
}

body.logged-app.theme-dark .finance-filter-card,
body.logged-app.theme-dark .finance-table-card,
body.logged-app.theme-dark .agenda-web-card,
body.logged-app.theme-dark .clients-filter-card,
body.logged-app.theme-dark .clients-table-card,
body.logged-app.theme-dark .client-modal,
body.logged-app.theme-dark .agenda-modal,
body.logged-app.theme-dark .login-panel,
body.logged-app.theme-dark .device-auth-card,
body.logged-app.theme-dark .totais,
body.logged-app.theme-dark .produto-consulta-card,
body.logged-app.theme-dark .rel-card,
body.logged-app.theme-dark .report-box {
  background: #0b1728 !important;
  border-color: #1f3048 !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .24) !important;
}

body.logged-app.theme-dark .finance-summary-card,
body.logged-app.theme-dark .agenda-summary-card,
body.logged-app.theme-dark .client-kpi,
body.logged-app.theme-dark .menu-card,
body.logged-app.theme-dark .pill {
  background: #0e1b2d !important;
  border-color: #1f3048 !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .20) !important;
}

body.logged-app.theme-dark .menu-card strong,
body.logged-app.theme-dark .menu-card small,
body.logged-app.theme-dark .client-kpi strong,
body.logged-app.theme-dark .client-kpi span,
body.logged-app.theme-dark .finance-summary-card strong,
body.logged-app.theme-dark .finance-summary-card span,
body.logged-app.theme-dark .agenda-summary-card strong,
body.logged-app.theme-dark .agenda-summary-card span,
body.logged-app.theme-dark .pill span,
body.logged-app.theme-dark .pill strong {
  color: #edf4ff !important;
}

body.logged-app.theme-dark input,
body.logged-app.theme-dark select,
body.logged-app.theme-dark textarea,
body.logged-app.theme-dark .finance-status-group,
body.logged-app.theme-dark .finance-tabs,
body.logged-app.theme-dark .device-code-box,
body.logged-app.theme-dark .item-line,
body.logged-app.theme-dark .agenda-detail-actions button,
body.logged-app.theme-dark .agenda-detail-status button,
body.logged-app.theme-dark .client-notes-scroll,
body.logged-app.theme-dark .client-history-scroll {
  background: #091220 !important;
  color: #edf4ff !important;
  border-color: #223550 !important;
}

body.logged-app.theme-dark input::placeholder,
body.logged-app.theme-dark textarea::placeholder {
  color: #7388a8 !important;
}

body.logged-app.theme-dark .btn,
body.logged-app.theme-dark .finance-tab,
body.logged-app.theme-dark .finance-status-btn,
body.logged-app.theme-dark [data-fin-quick],
body.logged-app.theme-dark .clients-page-nav,
body.logged-app.theme-dark .clients-page-buttons button,
body.logged-app.theme-dark .finance-pagination-actions button,
body.logged-app.theme-dark .agenda-nav-arrow,
body.logged-app.theme-dark .agenda-today,
body.logged-app.theme-dark .btn-outline {
  background: #0f1e33 !important;
  color: #d8e7fa !important;
  border-color: #29415f !important;
}

body.logged-app.theme-dark .btn:hover,
body.logged-app.theme-dark .finance-tab:hover,
body.logged-app.theme-dark .finance-status-btn:hover,
body.logged-app.theme-dark [data-fin-quick]:hover,
body.logged-app.theme-dark .clients-page-nav:hover,
body.logged-app.theme-dark .clients-page-buttons button:hover,
body.logged-app.theme-dark .finance-pagination-actions button:hover,
body.logged-app.theme-dark .agenda-nav-arrow:hover,
body.logged-app.theme-dark .agenda-today:hover,
body.logged-app.theme-dark .btn-outline:hover {
  background: #142840 !important;
}

body.logged-app.theme-dark .btn-primary,
body.logged-app.theme-dark .finance-tab.active,
body.logged-app.theme-dark .finance-status-btn.active,
body.logged-app.theme-dark [data-fin-quick].active,
body.logged-app.theme-dark .clients-page-buttons .active {
  background: linear-gradient(135deg, #0d4a92, #1f84ff) !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

body.logged-app.theme-dark .badge,
body.logged-app.theme-dark .finance-status-pill.open,
body.logged-app.theme-dark .client-status,
body.logged-app.theme-dark .device-status-pill {
  border-color: #27405f !important;
}

body.logged-app.theme-dark .finance-status-pill.open {
  background: rgba(194, 63, 63, .16) !important;
  color: #ff8c8c !important;
}

body.logged-app.theme-dark .finance-status-pill.paid {
  background: rgba(39, 162, 101, .15) !important;
  color: #52d9a3 !important;
}

body.logged-app.theme-dark .badge {
  background: rgba(55, 213, 154, .10) !important;
  color: #8ff0c8 !important;
}

body.logged-app.theme-dark .finance-table thead th,
body.logged-app.theme-dark .clients-table thead th,
body.logged-app.theme-dark .client-mini-table thead th {
  background: #101f33 !important;
  color: #8ea5c3 !important;
  border-bottom-color: #223550 !important;
}

body.logged-app.theme-dark .finance-table tbody td,
body.logged-app.theme-dark .clients-table tbody td,
body.logged-app.theme-dark .client-mini-table tbody td {
  background: #0b1728 !important;
  color: #edf4ff !important;
  border-bottom-color: #1c2d44 !important;
}

body.logged-app.theme-dark .finance-table tbody tr:hover td,
body.logged-app.theme-dark .clients-table tbody tr:hover td,
body.logged-app.theme-dark .client-mini-table tbody tr:hover td {
  background: #0f1e33 !important;
}

body.logged-app.theme-dark .login-hero {
  background: linear-gradient(180deg, #0a2b52, #103861) !important;
}

body.theme-dark:not(.logged-app) .card {
  background: transparent;
}


/* ===== Hotfix v19: rollback estável + ícone minimalista ===== */
.theme-toggle {
  width: 38px;
  height: 38px;
}
.theme-toggle .theme-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
}
.theme-toggle .theme-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}
.theme-toggle .theme-icon-sun { display: none; }
body.theme-dark .theme-toggle .theme-icon-moon { display: none; }
body.theme-dark .theme-toggle .theme-icon-sun { display: inline-flex; }

/* correções extras do modo escuro */
body.logged-app.theme-dark .finance-pagination {
  background: #0f1b2d !important;
  border-top: 1px solid #1f3048 !important;
}
body.logged-app.theme-dark .finance-pagination-info {
  color: #8ea5c3 !important;
}
body.logged-app.theme-dark .finance-pagination-actions button:disabled {
  background: #0d1727 !important;
  color: #6f86a5 !important;
  border-color: #223550 !important;
  opacity: 1 !important;
}
body.logged-app.theme-dark .btn-outline {
  background: #0f1e33 !important;
  color: #d8e7fa !important;
  border-color: #29415f !important;
}
body.logged-app.theme-dark .btn-outline:hover {
  background: #142840 !important;
}
body.logged-app.theme-dark .agenda-free {
  background: #0f1d31 !important;
  border-color: #29415f !important;
  color: #9eb4d1 !important;
}
body.logged-app.theme-dark .agenda-free b {
  background: #13233a !important;
  border-color: #29415f !important;
  color: #8fbcff !important;
}
body.logged-app.theme-dark .agenda-appointment {
  background: #0d1a2d !important;
  border-color: #223550 !important;
}
body.logged-app.theme-dark .agenda-slot-body {
  border-bottom-color: #1c2d44 !important;
}
body.logged-app.theme-dark .agenda-date-main,
body.logged-app.theme-dark .agenda-web-card,
body.logged-app.theme-dark .agenda-summary-card,
body.logged-app.theme-dark .agenda-nav-arrow,
body.logged-app.theme-dark .agenda-today,
body.logged-app.theme-dark .agenda-modal,
body.logged-app.theme-dark .agenda-modal-close,
body.logged-app.theme-dark .agenda-client-results,
body.logged-app.theme-dark .agenda-client-option {
  background: #0b1728 !important;
  color: #edf4ff !important;
  border-color: #223550 !important;
}
body.logged-app.theme-dark .agenda-modal-head {
  border-bottom-color: #223550 !important;
}
body.logged-app.theme-dark .agenda-web-card-head p,
body.logged-app.theme-dark .agenda-legend,
body.logged-app.theme-dark .agenda-slot-time,
body.logged-app.theme-dark .agenda-appt-main span,
body.logged-app.theme-dark .agenda-date-main small {
  color: #8ea5c3 !important;
}
body.logged-app.theme-dark .agenda-web-card-head h3,
body.logged-app.theme-dark .agenda-appt-main strong,
body.logged-app.theme-dark .agenda-date-main strong {
  color: #edf4ff !important;
}


/* ===== Ajuste v20: sidebar com marca centralizada + sem barra superior no desktop ===== */
@media (min-width: 981px) {
  body.logged-app .card-header,
  body.logged-app .card-header:hover,
  body.logged-app .card-header:focus-within {
    display: none !important;
  }

  body.logged-app .app-sidebar {
    top: 0 !important;
    width: 248px !important;
    padding: 16px 10px 14px !important;
    gap: 0 !important;
  }

  body.logged-app .app-sidebar::before {
    display: none !important;
  }

  body.logged-app .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left: 248px !important;
    width: calc(100% - 248px) !important;
    padding: 14px 26px 22px !important;
  }

  body.logged-app.sidebar-collapsed .app-sidebar {
    width: 74px !important;
  }

  body.logged-app.sidebar-collapsed .card > .screen:not(#screen-login):not(#screen-device-auth) {
    margin-left: 74px !important;
    width: calc(100% - 74px) !important;
  }

  body.logged-app .sidebar-brand-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 8px 8px 16px;
    margin-bottom: 8px;
    border-bottom: 1px solid #e6edf5;
  }

  body.logged-app .sidebar-brand-home {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    cursor: pointer;
    text-align: center;
    color: #12315b;
    text-decoration: none;
    box-shadow: none;
    transform: none;
  }

  body.logged-app .sidebar-brand-home:hover,
  body.logged-app .sidebar-brand-home:focus,
  body.logged-app .sidebar-brand-home:active {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.logged-app .sidebar-brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 22px rgba(11, 42, 74, .12);
    border: 1px solid rgba(11, 42, 74, .08);
  }

  body.logged-app .sidebar-brand-mark img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  body.logged-app .sidebar-brand-title {
    color: #12315b;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.15;
    text-align: center;
  }

  body.logged-app .sidebar-theme-toggle {
    width: 38px;
    height: 38px;
    margin-top: 2px;
  }

  body.logged-app .sidebar-nav {
    margin-top: 6px !important;
  }

  body.logged-app .sidebar-bottom {
    padding-top: 10px !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-brand-title,
  body.logged-app.sidebar-collapsed .sidebar-theme-toggle {
    display: none !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-brand-wrap {
    padding-bottom: 12px;
  }
}

body.logged-app.theme-dark .sidebar-brand-wrap {
  border-bottom-color: rgba(96, 130, 176, .18) !important;
}

body.logged-app.theme-dark .sidebar-brand-title {
  color: #edf4ff !important;
}

body.logged-app.theme-dark .sidebar-brand-mark {
  background: #11243a !important;
  border-color: rgba(255,255,255,.06) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .26) !important;
}


/* ===== Ajustes v21 ===== */
/* Hero do início respeita o tema escuro. */
body.logged-app.theme-dark .welcome-hero {
  background: #0b1728 !important;
  border-color: #1f3048 !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.24) !important;
}
body.logged-app.theme-dark .welcome-copy h1 { color: #edf4ff !important; }
body.logged-app.theme-dark .welcome-copy p { color: #90a3bf !important; }
body.logged-app.theme-dark .welcome-hero::before { background: rgba(55,179,211,.08) !important; }
body.logged-app.theme-dark .welcome-hero::after { background: rgba(245,197,24,.07) !important; }

@media (min-width: 981px) {
  body.logged-app .sidebar-quick-actions {
    display: grid !important;
    grid-template-columns: 42px 42px !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: start !important;
    padding: 0 6px !important;
  }

  body.logged-app .sidebar-collapse-btn.compact,
  body.logged-app .sidebar-theme-toggle {
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
  }

  body.logged-app .sidebar-collapse-btn.compact .sidebar-icon {
    position: static !important;
    transform: none !important;
    width: 19px !important;
    height: 19px !important;
    margin: 0 !important;
  }

  body.logged-app .sidebar-collapse-btn.compact .sidebar-icon svg {
    width: 19px !important;
    height: 19px !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-quick-actions {
    grid-template-columns: 42px !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-theme-toggle {
    display: inline-flex !important;
  }
}


/* ===== Ajuste v22: restaura o texto Recolher menu ===== */
@media (min-width: 981px) {
  body.logged-app .sidebar-quick-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 0 6px !important;
  }

  body.logged-app .sidebar-collapse-btn.compact {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  body.logged-app .sidebar-collapse-text {
    display: inline-block !important;
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-quick-actions {
    grid-template-columns: 42px !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-collapse-btn.compact {
    width: 42px !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  body.logged-app.sidebar-collapsed .sidebar-collapse-text {
    display: none !important;
  }
}


/* ===== Ajuste v23: ações da agenda em uma linha somente no celular ===== */
@media (max-width: 980px) {
  body.logged-app .agenda-top-row-main .agenda-web-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto 46px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
  }

  body.logged-app #agenda-today {
    width: auto !important;
    min-width: 64px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  body.logged-app #agenda-refresh {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.logged-app #agenda-refresh .agenda-refresh-text {
    display: none !important;
  }

  body.logged-app #agenda-refresh .agenda-refresh-icon {
    display: inline-block !important;
    font-size: 21px !important;
    line-height: 1 !important;
  }

  body.logged-app #agenda-new {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}


/* ===== Ajuste v24: agenda mobile invertida + tema na tela inicial ===== */
.home-theme-toggle {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255,255,255,.94);
  color: #17345d;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(16,48,82,.10);
}
.home-theme-toggle:hover { background: #f5f9fd; }
.home-theme-toggle .theme-icon { display: inline-flex; width: 19px; height: 19px; }
.home-theme-toggle .theme-icon svg { width: 19px; height: 19px; display: block; }
.home-theme-toggle .theme-icon-sun { display: none; }
body.theme-dark .home-theme-toggle .theme-icon-moon { display: none; }
body.theme-dark .home-theme-toggle .theme-icon-sun { display: inline-flex; }
body.theme-dark .home-theme-toggle {
  background: #0f1e33;
  color: #f7d366;
  border-color: #29415f;
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}
body.theme-dark .home-theme-toggle:hover { background: #142840; }

@media (max-width: 980px) {
  body.logged-app .agenda-top-row-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body.logged-app .agenda-top-row-main .agenda-web-actions {
    order: 1 !important;
  }

  body.logged-app .agenda-top-row-main .agenda-web-nav {
    order: 2 !important;
  }

  body.logged-app .home-theme-toggle {
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
  }

  body.logged-app .welcome-copy {
    padding-right: 48px;
  }
}


/* ===== Hotfix v25: mobile dark mode sem fundo branco ===== */
@media (max-width: 980px) {
  body.logged-app.theme-dark {
    background: #07111e !important;
  }

  body.logged-app.theme-dark .shell,
  body.logged-app.theme-dark .card {
    background: transparent !important;
  }

  body.logged-app.theme-dark .card-header {
    background: #081321 !important;
    border-bottom-color: #1f3048 !important;
  }

  body.logged-app.theme-dark .app-topbar,
  body.logged-app.theme-dark .card-header:hover .app-topbar,
  body.logged-app.theme-dark .card-header:focus-within .app-topbar {
    background: #081321 !important;
  }

  body.logged-app.theme-dark #app-nav,
  body.logged-app.theme-dark #app-nav.hidden,
  body.logged-app.theme-dark .card-header:hover .app-nav,
  body.logged-app.theme-dark .card-header:focus-within .app-nav {
    background: #081321 !important;
  }

  body.logged-app.theme-dark .nav-btn {
    background: #0f1d31 !important;
    color: #d8e7fa !important;
    border: 1px solid #223550 !important;
  }

  body.logged-app.theme-dark .nav-btn.active {
    background: linear-gradient(135deg, #0d4a92, #1f84ff) !important;
    color: #ffffff !important;
    border-color: transparent !important;
  }

  body.logged-app.theme-dark .nav-btn.nav-exit {
    color: #ff9b9b !important;
  }

  body.logged-app.theme-dark .brand-title,
  body.logged-app.theme-dark .brand-title em,
  body.logged-app.theme-dark .top-user-copy strong {
    color: #edf4ff !important;
  }

  body.logged-app.theme-dark .brand-mark {
    background: #11243a !important;
  }

  body.logged-app.theme-dark .clients-top,
  body.logged-app.theme-dark .finance-top,
  body.logged-app.theme-dark .agenda-web-top {
    background: transparent !important;
  }

  body.logged-app.theme-dark .card > .screen:not(#screen-login):not(#screen-device-auth) {
    background: transparent !important;
  }
}


/* ===== Ajuste v26: agenda mobile — Hoje | Novo horário | Recarregar ===== */
@media (max-width: 980px) {
  body.logged-app .agenda-top-row-main .agenda-web-actions {
    grid-template-columns: auto minmax(0, 1fr) 46px !important;
    grid-template-areas: "today new refresh" !important;
    gap: 8px !important;
    align-items: center !important;
  }

  body.logged-app #agenda-today {
    grid-area: today !important;
  }

  body.logged-app #agenda-new {
    grid-area: new !important;
    justify-self: stretch !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.logged-app #agenda-refresh {
    grid-area: refresh !important;
  }
}


/* Pacotes de sessões e prontuário */
.agenda-package-summary{margin:0 0 14px;padding:12px 14px;border:1px solid #cfe0ee;border-radius:13px;background:#f2f8fd;color:var(--primary);font-size:11px;font-weight:850;text-align:center}
.agenda-detail-actions-three{grid-template-columns:repeat(3,1fr)}
.agenda-add-package-btn{width:100%;min-height:42px;margin-top:10px;border:1px dashed #93bddb;border-radius:12px;background:#f5fbff;color:var(--primary-2);font-weight:850;cursor:pointer}
.agenda-package-client{margin-bottom:15px;padding:12px 14px;border-radius:12px;background:var(--surface-2);color:var(--primary);font-weight:850;text-transform:uppercase}
#agenda-prontuario-text{min-height:260px;line-height:1.55}
.client-prontuario-list{max-height:300px;overflow:auto;display:grid;gap:8px}
.client-prontuario-item{width:100%;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}
.client-prontuario-item span{min-width:0}.client-prontuario-item strong{display:block;color:var(--primary);font-size:10px}.client-prontuario-item small{display:block;margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.client-prontuario-item b{color:var(--primary-2);font-size:10px}.client-prontuario-empty{padding:18px;color:var(--muted);text-align:center;font-size:10px}
@media(max-width:700px){.agenda-detail-actions-three{grid-template-columns:1fr}.agenda-detail-actions-three button{min-height:46px}.agenda-package-summary{font-size:10px}}


/* Pacote visível no formulário de novo horário */
.agenda-form-package-box{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #cfe0ee;border-radius:13px;background:#f2f8fd}
.agenda-form-package-box span{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}
.agenda-form-package-box strong{display:block;margin-top:4px;color:var(--primary);font-size:12px}
.agenda-form-package-box button{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid #b9d4e8;border-radius:10px;background:#fff;color:var(--primary-2);font-size:10px;font-weight:900;cursor:pointer}
.agenda-form-package-box button:disabled{opacity:.45;cursor:default}
@media(max-width:700px){.agenda-form-package-box{align-items:stretch;flex-direction:column}.agenda-form-package-box button{width:100%}}


/* Ajustes: leitura de prontuário, histórico e pagamento de pacote */
#agenda-prontuario-text[readonly]{background:var(--surface-2);color:var(--text);cursor:default;box-shadow:none}
.agenda-filter-head-actions{display:flex;align-items:center;gap:9px;margin-left:auto}
.agenda-filter-prontuarios{width:auto;min-width:130px}
.agenda-package-paid-field{display:flex;align-items:flex-end}
.agenda-package-paid-check{width:100%;min-height:45px;margin:0;padding:10px 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer}
.agenda-package-paid-check input{width:18px;min-height:18px;height:18px;margin:0;flex:0 0 auto}
.agenda-package-paid-check span{color:var(--primary);font-size:11px;font-weight:800}
.agenda-package-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.agenda-package-actions .hidden + .agenda-package-paid-btn.hidden{display:none}
.agenda-package-paid-btn{min-height:42px;border:1px solid #b9e1cf;border-radius:12px;background:#edf9f3;color:#16724f;font-weight:850;cursor:pointer}
.agenda-client-prontuario-card{padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.agenda-client-prontuario-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.agenda-client-prontuario-card header strong{color:var(--primary);font-size:12px}.agenda-client-prontuario-card header span{color:var(--muted);font-size:11px}.agenda-client-prontuario-card header b{color:var(--primary-2);font-size:10px}
.agenda-client-prontuario-card>div{padding:13px 0;color:var(--text);font-size:12px;line-height:1.55;white-space:pre-wrap}
.agenda-client-prontuario-card>button{border:0;background:transparent;color:var(--primary-2);font-size:10px;font-weight:850;cursor:pointer;padding:0}
@media(max-width:700px){.agenda-filter-head-actions{width:100%;display:grid;grid-template-columns:1fr}.agenda-filter-prontuarios,.agenda-filter-back{width:100%}.agenda-client-prontuario-card header{grid-template-columns:1fr}.agenda-package-actions{grid-template-columns:1fr}}

/* Ajustes: WhatsApp, tela geral de prontuários e indicador rápido */
.agenda-whatsapp-btn{background:#eaf8ef!important;border-color:#9ed8b2!important;color:#128c4a!important;display:flex!important;align-items:center;justify-content:center;gap:9px}.agenda-whatsapp-btn:hover{background:#dff5e7!important}.agenda-whatsapp-icon{width:24px;height:24px;display:inline-flex}.agenda-whatsapp-icon svg{width:100%;height:100%}.agenda-whatsapp-btn>span:last-child{display:flex;flex-direction:column;line-height:1.15}.agenda-whatsapp-btn small{display:block;margin-top:3px;color:#3d7c57}.agenda-status-wrap{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.agenda-prontuario-tag{padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}.agenda-prontuario-tag.ok{color:#176f55;background:#eaf8f1;border:1px solid #bfe6d2}.agenda-prontuario-tag.missing{color:#a73f3f;background:#fff0f0;border:1px solid #efcaca}.agenda-prontuarios-filters{padding:16px 20px;display:grid;grid-template-columns:150px 150px minmax(220px,1fr) auto;gap:12px;align-items:end;border-bottom:1px solid var(--line)}.agenda-prontuarios-filters .field{margin:0}.agenda-prontuarios-list{padding:16px 20px;display:grid;gap:11px}.agenda-prontuario-list-card{padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:grid;gap:10px}.agenda-prontuario-list-head{display:flex;justify-content:space-between;gap:14px}.agenda-prontuario-list-head strong{color:var(--primary);font-size:12px}.agenda-prontuario-list-head span{color:var(--muted);font-size:10px}.agenda-prontuario-list-text{white-space:pre-wrap;color:var(--text);font-size:11px;line-height:1.55}.agenda-prontuario-list-card button{justify-self:end;border:1px solid var(--line);border-radius:9px;background:var(--primary-soft);color:var(--primary);padding:7px 12px;font-weight:800;cursor:pointer}.agenda-prontuarios-open{width:auto!important;min-width:110px!important}@media(max-width:760px){.agenda-prontuarios-filters{grid-template-columns:1fr}.agenda-prontuario-list-head{flex-direction:column}.agenda-status-wrap{justify-content:flex-start}.agenda-appointment .agenda-status-wrap{justify-content:flex-end}.agenda-web-actions{flex-wrap:wrap}.agenda-prontuarios-open{order:4;flex:1 1 100%!important}}
body.logged-app.theme-dark .agenda-prontuario-list-card{background:var(--surface)}body.logged-app.theme-dark .agenda-whatsapp-btn{background:#153c2a!important;border-color:#2d6847!important;color:#6ce39d!important}


/* Chips da agenda: prontuário, pagamento e status (status sempre por último). */
.agenda-status-wrap{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.agenda-payment-tag{padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap;border:1px solid transparent}
.agenda-payment-tag.paid{color:#0b5d3b;background:#dff4e9;border-color:#9dd6b7}
.agenda-payment-tag.open{color:#9a4e00;background:#fff0d8;border-color:#efc27f}
body.logged-app.theme-dark .agenda-payment-tag.paid{color:#75e6ac;background:#123d2b;border-color:#286647}
body.logged-app.theme-dark .agenda-payment-tag.open{color:#ffc06a;background:#4b2d0b;border-color:#81531c}
@media(max-width:760px){.agenda-status-wrap{justify-content:flex-end}.agenda-filter-item .agenda-status-wrap{grid-column:1/-1;justify-self:end;margin-left:0}}


/* Agenda: prontuários ao lado da busca e indicadores mais compactos */
.agenda-toolbar-client-group {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(170px, 1fr) auto;
    align-items: center;
    gap: 8px;
}
.agenda-toolbar-client-group .agenda-toolbar-search { min-width: 0; }
.agenda-toolbar-client-group .agenda-prontuarios-open {
    width: auto !important;
    min-width: 102px !important;
    min-height: 38px;
    padding: 7px 12px;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: #fff;
    border: 0;
    box-shadow: 0 8px 18px rgba(11,42,74,.16);
}
.agenda-summary-inline { gap: 6px !important; }
.agenda-summary-inline .agenda-summary-card {
    min-height: 38px !important;
    padding: 4px 6px !important;
    grid-template-columns: 24px auto minmax(0,1fr) !important;
    column-gap: 5px !important;
}
.agenda-summary-inline .agenda-summary-icon {
    width: 24px !important;
    height: 24px !important;
    border-radius: 7px !important;
    font-size: 11px !important;
}
.agenda-summary-inline .agenda-summary-card strong { font-size: 13px !important; }
.agenda-summary-inline .agenda-summary-card span { font-size: 8.5px !important; }

/* Ação de pagamento centralizada e com nome mais claro */
.agenda-package-actions {
    display: flex !important;
    justify-content: center;
    align-items: center;
}
.agenda-package-actions .agenda-add-package-btn,
.agenda-package-actions .agenda-package-paid-btn {
    width: min(100%, 280px);
}
.agenda-package-paid-btn {
    min-height: 44px;
    padding: 10px 18px;
    background: #eaf8f1;
    border-color: #9ed8b8;
    color: #126844;
}
.agenda-package-paid-btn:hover { background: #dcf3e7; }

@media (max-width: 760px) {
    .agenda-toolbar-client-group { grid-template-columns: minmax(0,1fr) auto; }
    .agenda-toolbar-client-group .agenda-prontuarios-open {
        min-width: 88px !important;
        padding-left: 9px;
        padding-right: 9px;
        font-size: 10px;
    }
    .agenda-summary-inline { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
    .agenda-summary-inline .agenda-summary-card {
        grid-template-columns: 20px auto !important;
        grid-template-rows: auto auto;
        padding: 4px !important;
        column-gap: 4px !important;
    }
    .agenda-summary-inline .agenda-summary-card > div:last-child { display: block; min-width: 0; }
    .agenda-summary-inline .agenda-summary-card strong { display:block; font-size:12px !important; }
    .agenda-summary-inline .agenda-summary-card span { display:block; font-size:7px !important; white-space:normal; }
    .agenda-summary-inline .agenda-summary-icon { width:20px !important; height:20px !important; font-size:10px !important; }
}


/* Ditado por voz do prontuário */
.agenda-dictation-bar {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-2);
}
.agenda-dictation-btn {
    width: auto;
    flex: 0 0 auto;
    min-height: 39px;
    padding: 8px 13px;
}
.agenda-dictation-btn.listening {
    color: #a83232;
    background: #fff0f0;
    border-color: #e8b9b9;
}
.agenda-dictation-status {
    min-width: 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
}
.agenda-dictation-status.listening {
    color: #a83232;
    font-weight: 800;
}
@media (max-width: 700px) {
    .agenda-dictation-bar { align-items: stretch; flex-direction: column; }
    .agenda-dictation-btn { width: 100%; }
}


/* Modelo de prontuário */
.agenda-prontuarios-head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.agenda-model-checkbox{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--primary);font-size:11px;font-weight:850;cursor:pointer}
.agenda-model-checkbox input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--primary-2)}
.agenda-modelo-help{margin:0 0 15px;color:var(--muted);font-size:11px;line-height:1.5}
.agenda-modelo-campos{display:grid;gap:9px}
.agenda-modelo-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 38px;gap:9px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}
.agenda-modelo-row .field{margin:0}.agenda-modelo-remove{width:38px;height:45px;border:1px solid #efc7c7;border-radius:10px;background:#fff5f5;color:#b23e3e;font-size:20px;cursor:pointer}.agenda-modelo-add{width:100%;margin-top:11px}
@media(max-width:700px){.agenda-prontuarios-head-actions{width:100%;display:grid;grid-template-columns:1fr}.agenda-prontuarios-head-actions .btn{width:100%}.agenda-modelo-row{grid-template-columns:minmax(0,1fr) 75px 38px}.agenda-modelo-linhas-field input{padding-left:8px;padding-right:8px}}

/* Campos fixos do Modelo de Prontuário */
.agenda-prontuario-model-fields {
    display: grid;
    gap: 12px;
}
.agenda-prontuario-model-row {
    overflow: hidden;
    border: 1px solid #cfdae7;
    border-radius: 12px;
    background: #fff;
}
.agenda-prontuario-model-label {
    padding: 10px 13px 8px;
    color: var(--primary);
    background: var(--surface-2);
    border-bottom: 1px solid var(--line);
    font-size: 12px;
    font-weight: 900;
    user-select: none;
}
.agenda-prontuario-model-answer {
    min-height: calc(var(--modelo-linhas, 1) * 24px + 22px);
    padding: 11px 13px;
    color: var(--text);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    outline: none;
    line-height: 24px;
    font-size: 14px;
}
.agenda-prontuario-model-answer[contenteditable="true"]:focus {
    box-shadow: inset 0 0 0 2px rgba(15, 95, 156, .20);
    background: #fbfdff;
}
.agenda-prontuario-model-answer[contenteditable="false"] {
    background: #fbfdff;
}


/* Modelos de prontuário baseados nas fichas PDF */
.agenda-prontuario-template-bar{display:grid;grid-template-columns:90px minmax(150px,1fr) minmax(170px,1fr) auto;gap:9px;align-items:center;margin:10px 0;padding:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.agenda-prontuario-template-bar label{margin:0}.agenda-favorite-check{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #e4c35a;border-radius:11px;background:#fff9dc;color:#755900;font-weight:800}.agenda-favorite-check input{width:auto;min-height:0}.agenda-model-preview{display:flex;gap:10px;overflow-x:auto;margin:10px 0;padding:10px;background:#f7f9fc;border:1px solid var(--line);border-radius:14px}.agenda-model-preview img{max-width:100%;max-height:360px;object-fit:contain;border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.agenda-model-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:12px}.agenda-modelo-delete{color:#b23e3e!important}.agenda-prontuario-list-card.favorite{order:-1;background:linear-gradient(145deg,#fffdf2,#fff4c8);border-color:#dfbf4d;box-shadow:0 0 0 2px rgba(223,191,77,.12),var(--shadow-sm)}.agenda-prontuario-list-card.favorite .agenda-prontuario-list-head strong{color:#7a5b00}@media(max-width:700px){.agenda-prontuario-template-bar{grid-template-columns:1fr}.agenda-model-toolbar{grid-template-columns:1fr 1fr}.agenda-model-toolbar select{grid-column:1/-1}.agenda-model-preview img{max-height:250px}}


/* ===== Prontuários estruturados fiéis aos PDFs ===== */
.agenda-prontuario-modal-card{width:min(100%,1040px)!important}
.agenda-structured-form{display:grid!important;gap:18px;margin-top:12px}
.agenda-structured-page{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}
.agenda-structured-page-head{padding:17px 19px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface-2),var(--surface))}
.agenda-structured-page-head span{display:block;color:var(--primary-2);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.agenda-structured-page-head h4{margin:5px 0 0;color:var(--primary);font-size:18px}
.agenda-structured-page-head p{margin:5px 0 0;color:var(--muted);font-size:10px}
.agenda-structured-page-body{display:grid;gap:15px;padding:18px}
.agenda-structured-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.agenda-structured-basic-field{display:grid;gap:6px;margin:0}.agenda-structured-basic-field.span-2{grid-column:span 2}.agenda-structured-basic-field strong{color:var(--primary);font-size:10px}
.agenda-structured-question,.agenda-structured-pulse,.agenda-structured-image-answer,.agenda-structured-gallery-section{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.agenda-structured-question h5,.agenda-structured-pulse h5,.agenda-structured-image-answer h5,.agenda-structured-gallery-section>h5{margin:0 0 10px;color:var(--primary);font-size:12px;line-height:1.45}
.agenda-structured-question textarea,.agenda-structured-image-response textarea,.agenda-structured-gallery-card textarea{width:100%;resize:vertical;line-height:1.55;background:var(--surface);color:var(--text);border:1px solid #cfdae7;border-radius:11px;padding:11px 12px;font:inherit;font-size:12px}
.agenda-structured-pulse-table{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.agenda-structured-pulse-table>*{min-width:0;border-bottom:1px solid var(--line)}.agenda-structured-pulse-table>*:nth-child(odd){border-right:1px solid var(--line)}
.agenda-structured-pulse-table>*:nth-last-child(-n+2){border-bottom:0}
.pulse-head{padding:9px 11px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:900}
.pulse-cell{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:8px 10px}.pulse-cell span{color:var(--primary);font-size:10px;font-weight:800}.pulse-cell input{min-height:38px}
.agenda-structured-image-answer-content{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr);gap:15px;align-items:stretch}.agenda-structured-image-answer.below .agenda-structured-image-answer-content{grid-template-columns:1fr}.agenda-structured-image-answer img{width:100%;max-height:390px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}.agenda-structured-image-response{display:flex;flex-direction:column;gap:7px}.agenda-structured-image-response strong{color:var(--muted);font-size:10px}.agenda-structured-image-response textarea{flex:1;min-height:130px}
.agenda-structured-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.agenda-structured-gallery-card{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.agenda-structured-gallery-card h6{margin:0 0 9px;color:var(--primary);font-size:12px}.agenda-structured-gallery-content{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:stretch}.agenda-structured-gallery-content img{width:100%;height:210px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;padding:5px}.agenda-structured-gallery-content textarea{min-height:210px}
.agenda-structured-form.is-readonly input,.agenda-structured-form.is-readonly textarea{background:#f5f7fa!important;color:var(--text);cursor:default}.agenda-structured-form input:focus,.agenda-structured-form textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(15,95,156,.1);outline:none}
.agenda-model-fixed-notice{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid #a9cdea;border-radius:13px;background:#edf7ff;color:var(--primary)}.agenda-model-fixed-notice strong{font-size:12px}.agenda-model-fixed-notice span{font-size:10px;color:var(--muted)}
.agenda-model-fixed-page{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.agenda-model-fixed-page h5{margin:0 0 8px;color:var(--primary);font-size:12px}.agenda-model-fixed-page div{display:flex;flex-wrap:wrap;gap:6px}.agenda-model-fixed-page span{padding:6px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:9px}
body.logged-app.theme-dark .agenda-structured-image-answer img,body.logged-app.theme-dark .agenda-structured-gallery-content img{background:#fff}body.logged-app.theme-dark .agenda-model-fixed-notice{background:#102a44;border-color:#2b6088}
@media(max-width:760px){.agenda-prontuario-modal-card{width:100%!important}.agenda-structured-page-body{padding:12px}.agenda-structured-basic-grid{grid-template-columns:1fr}.agenda-structured-basic-field.span-2{grid-column:auto}.agenda-structured-image-answer-content,.agenda-structured-gallery{grid-template-columns:1fr}.agenda-structured-gallery-content{grid-template-columns:110px minmax(0,1fr)}.agenda-structured-gallery-content img,.agenda-structured-gallery-content textarea{height:180px;min-height:180px}.pulse-cell{grid-template-columns:58px minmax(0,1fr);padding:7px}.agenda-structured-page-head{padding:14px}}
@media(max-width:480px){.agenda-structured-gallery-content{grid-template-columns:1fr}.agenda-structured-gallery-content img{height:170px}.agenda-structured-gallery-content textarea{min-height:120px;height:auto}.agenda-structured-pulse-table{font-size:9px}.pulse-cell{grid-template-columns:1fr;gap:4px}}


/* PDF do prontuário gerado sob demanda */
.agenda-prontuario-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#agenda-prontuario-pdf { color: #0f5f9c; border-color: #9dc7e6; background: #edf7fd; }
#agenda-prontuario-pdf:hover { background: #dceffc; }
@media (max-width: 700px) { .agenda-prontuario-actions { grid-template-columns: 1fr; } }

/* Lista compacta dos prontuários preenchidos */
.agenda-prontuario-list-compact{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 16px}
.agenda-prontuario-list-info{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(125px,.7fr) minmax(160px,1fr);align-items:center;gap:14px;min-width:0}
.agenda-prontuario-list-info strong,.agenda-prontuario-list-info b,.agenda-prontuario-list-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-prontuario-list-info strong{font-size:12px;color:var(--text)}
.agenda-prontuario-list-info span{font-size:11px;color:var(--muted)}
.agenda-prontuario-list-info b{font-size:11px;color:var(--primary)}
.agenda-prontuario-star{justify-self:auto!important;border:0!important;background:transparent!important;padding:3px!important;font-size:25px!important;line-height:1;color:#a7b0bf!important;cursor:pointer}
.agenda-prontuario-star.active{color:#e0ad00!important}
.agenda-prontuario-list-actions{display:flex;gap:8px}
.agenda-prontuario-list-actions button{justify-self:auto!important;min-width:78px}
.agenda-input-locked{background:var(--surface-2)!important;color:var(--muted)!important;cursor:not-allowed}
@media(max-width:760px){.agenda-prontuario-list-compact{grid-template-columns:auto 1fr}.agenda-prontuario-list-info{grid-template-columns:1fr;gap:4px}.agenda-prontuario-list-actions{grid-column:1/-1;width:100%}.agenda-prontuario-list-actions button{flex:1}}

/* Ajustes finais dos prontuários */
.btn-danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}.btn-danger:hover{background:#912018!important}.agenda-prontuario-list-info .agenda-prontuario-session{font-weight:800;color:var(--primary-2)}

/* Pontos coloridos e legendas nas imagens dos prontuários */
.agenda-image-marker{display:flex;flex-direction:column;gap:8px;min-width:0}
.agenda-image-marker-toggle{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:var(--primary);cursor:pointer;user-select:none}
.agenda-image-marker-toggle input{width:16px;height:16px;accent-color:var(--primary)}
.agenda-image-marker-stage{position:relative;width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.agenda-image-marker-stage>img{display:block;width:100%!important;height:auto!important;max-height:390px;object-fit:contain;border:0!important;border-radius:0!important;background:#fff!important;padding:8px!important;box-sizing:border-box}
.agenda-image-marker-layer{position:absolute;inset:0;cursor:crosshair}
.agenda-image-marker-toggle:has(input:not(:checked))+.agenda-image-marker-stage .agenda-image-marker-layer{cursor:default}
.agenda-image-point{position:absolute;z-index:2;transform:translate(-50%,-50%);width:25px;height:25px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.38);color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;padding:0;cursor:pointer}
.agenda-image-point:disabled{cursor:default;opacity:1}
.agenda-image-point-delete{position:absolute;z-index:5;transform:translate(10px,-50%);white-space:nowrap;border:0;border-radius:8px;background:#9d2020;color:#fff;font-size:10px;font-weight:800;padding:7px 9px;box-shadow:0 3px 12px rgba(0,0,0,.28);cursor:pointer}
.agenda-image-marker-legend{display:flex;flex-direction:column;gap:6px}
.agenda-image-marker-legend-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px}
.agenda-image-marker-legend-row>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:900;box-shadow:0 1px 4px rgba(0,0,0,.22)}
.agenda-image-marker-legend-row input{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:8px 9px;font:inherit;font-size:11px;font-weight:700}
.agenda-structured-gallery-content>.agenda-image-marker{min-height:210px}
.agenda-structured-gallery-content>.agenda-image-marker .agenda-image-marker-stage{flex:1}
.agenda-structured-gallery-content>.agenda-image-marker .agenda-image-marker-stage>img{height:210px!important;max-height:210px}
body.logged-app.theme-dark .agenda-image-marker-stage,body.logged-app.theme-dark .agenda-image-marker-stage>img{background:#fff!important}
@media(max-width:760px){.agenda-image-marker-stage>img{max-height:300px}.agenda-structured-gallery-content>.agenda-image-marker .agenda-image-marker-stage>img{height:180px!important;max-height:180px}}


/* Configurações da agenda, alertas de status e controle de pacotes */
.agenda-settings-open{min-width:46px;padding-inline:13px;font-size:18px}
.agenda-settings-body{padding:18px;display:grid;gap:12px}
.agenda-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line,#d9e3ef);border-radius:14px;padding:14px 16px;cursor:pointer}
.agenda-setting-row span{display:grid;gap:3px}.agenda-setting-row small{color:#64748b;font-size:12px}.agenda-setting-row input{width:20px;height:20px}
.agenda-packages-control-open{margin-top:4px;width:100%}
.agenda-status-alert{position:fixed;z-index:10050;left:50%;top:18px;transform:translate(-50%,-140%);opacity:0;pointer-events:none;min-width:min(560px,calc(100vw - 30px));max-width:760px;background:#123f67;color:#fff;border-radius:14px;padding:13px 18px;box-shadow:0 12px 36px rgba(15,23,42,.25);display:flex;justify-content:center;gap:7px;transition:.22s ease}
.agenda-status-alert.show{transform:translate(-50%,0);opacity:1}.agenda-status-alert strong{font-weight:800}.agenda-status-alert span{font-weight:600}
.agenda-packages-control-card{width:min(1120px,calc(100vw - 28px));max-height:88vh;display:flex;flex-direction:column}
.agenda-packages-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 210px auto;gap:12px;align-items:end;padding:16px 18px;border-bottom:1px solid var(--line,#d9e3ef)}
.agenda-packages-list{padding:14px 18px 20px;overflow:auto;display:grid;gap:10px}
.agenda-package-control-item{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(260px,1fr) minmax(130px,.55fr) auto;align-items:center;gap:14px;border:1px solid #d8e2ee;border-left:5px solid #1f6fa8;border-radius:14px;padding:13px 14px;background:#fff}
.agenda-package-control-item.encerrado{border-left-color:#64748b}.agenda-package-control-item.cancelado{border-left-color:#dc2626;opacity:.82}
.agenda-package-control-main{display:grid;gap:3px}.agenda-package-control-main span{font-size:12px;color:#64748b}.agenda-package-control-numbers{display:flex;gap:12px;flex-wrap:wrap}.agenda-package-control-numbers span{font-size:12px;color:#64748b}.agenda-package-control-numbers b{color:#0f2942;font-size:15px}
.agenda-package-control-value{display:grid;gap:4px}.agenda-package-control-value span{font-size:12px;font-weight:700}.agenda-package-control-value .paid{color:#16814b}.agenda-package-control-value .open{color:#b35b00}
@media(max-width:820px){.agenda-packages-toolbar{grid-template-columns:1fr}.agenda-package-control-item{grid-template-columns:1fr}.agenda-status-alert{top:10px;flex-direction:column;text-align:center}.agenda-toolbar-client-group{grid-template-columns:minmax(0,1fr) auto auto}}
body.dark-mode .agenda-setting-row,body.dark-mode .agenda-package-control-item{background:#13283d;border-color:#2a455f;color:#e8f0f7}body.dark-mode .agenda-package-control-main span,body.dark-mode .agenda-package-control-numbers span,body.dark-mode .agenda-setting-row small{color:#a9bbcb}body.dark-mode .agenda-package-control-numbers b{color:#fff}


/* Agenda: indicadores maiores, ações compactas e painel de avisos */
.agenda-top-row-compact{grid-template-columns:minmax(300px,.9fr) minmax(620px,1.9fr) auto!important;gap:8px!important;position:relative}
.agenda-toolbar-client-group{grid-template-columns:minmax(170px,1fr) auto!important}
.agenda-summary-inline{grid-template-columns:repeat(4,minmax(120px,1fr))!important}
.agenda-summary-inline .agenda-summary-card{min-width:0!important;padding:4px 5px!important}
.agenda-summary-inline .agenda-summary-card span{font-size:10.5px!important;font-weight:800!important;white-space:nowrap}
.agenda-summary-inline .agenda-summary-card strong{font-size:14px!important}
.agenda-toolbar-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.agenda-icon-action{position:relative;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;display:grid!important;place-items:center;font-size:17px!important;border-radius:11px!important}
.agenda-settings-open{min-width:40px!important;padding:0!important;font-size:17px!important}
.agenda-notifications-wrap{position:relative}
.agenda-notifications-badge{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#c62828;color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid var(--surface,#fff)}
.agenda-notifications-panel{position:absolute;z-index:10020;right:0;top:48px;width:min(470px,calc(100vw - 28px));max-height:420px;background:var(--surface,#fff);border:1px solid var(--line,#d9e3ef);border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.22);overflow:hidden}
.agenda-notifications-panel header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line,#d9e3ef)}
.agenda-notifications-panel header button{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:inherit}
.agenda-notifications-list{max-height:330px;overflow-y:auto;overflow-x:hidden;padding:7px;scrollbar-gutter:stable}
.agenda-notification-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px;border-radius:10px;border-bottom:1px solid var(--line,#e5edf5)}
.agenda-notification-item:last-child{border-bottom:0}
.agenda-notification-item time{font-size:10px;font-weight:800;color:var(--muted,#64748b);line-height:1.35}
.agenda-notification-item div{font-size:12px;line-height:1.35}.agenda-notification-item strong{font-weight:900}.agenda-notification-item span{display:block;margin-top:2px;color:var(--muted,#64748b)}

.agenda-notification-item{min-height:62px}
.agenda-notifications-list::-webkit-scrollbar{width:8px}
.agenda-notifications-list::-webkit-scrollbar-thumb{background:rgba(100,116,139,.38);border-radius:999px}
body.logged-app.theme-dark .agenda-notifications-panel{background:#13283d;border-color:#2a455f;color:#e8f0f7}
@media(max-width:1150px){.agenda-top-row-compact{grid-template-columns:minmax(250px,.9fr) minmax(470px,1.6fr) auto!important}.agenda-summary-inline .agenda-summary-card span{font-size:9px!important}.agenda-summary-inline{grid-template-columns:repeat(4,minmax(95px,1fr))!important}}
@media(max-width:820px){.agenda-top-row-compact{grid-template-columns:1fr!important}.agenda-toolbar-actions{position:absolute;right:8px;top:8px}.agenda-summary-inline{grid-template-columns:repeat(4,minmax(0,1fr))!important}.agenda-summary-inline .agenda-summary-card span{font-size:8px!important;white-space:normal}}

/* Correção: engrenagem ocupa melhor o botão compacto */
#agenda-settings-open{font-size:26px!important;line-height:1!important;font-weight:700!important}
#agenda-settings-open:not(:disabled){display:inline-grid!important;place-items:center!important}

.agenda-notification-item{position:relative;padding-right:38px}
.agenda-notification-delete{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted,#64748b);font-size:20px;line-height:1;cursor:pointer}
.agenda-notification-delete:hover{background:rgba(198,40,40,.10);color:#c62828}
.agenda-notifications-footer{padding:9px;border-top:1px solid var(--line,#d9e3ef);background:var(--surface,#fff)}
.agenda-notifications-footer button{width:100%;min-height:38px;border:1px solid #efb4b4;border-radius:10px;background:#fff7f7;color:#b83232;font-weight:800;cursor:pointer}
.agenda-notifications-footer button:hover{background:#fdeaea}
body.logged-app.theme-dark .agenda-notifications-footer{background:#13283d;border-color:#2a455f}
body.logged-app.theme-dark .agenda-notifications-footer button{background:#2d1d25;border-color:#70404a;color:#ffb4b4}

/* Exportação de prontuários por e-mail */
.agenda-export-modal-card{max-width:760px;width:min(760px,calc(100vw - 28px));}
.agenda-export-body{padding:18px;display:grid;gap:16px;}
.agenda-export-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;background:var(--card-soft,#f4f8fc);border:1px solid var(--border,#d7e2ed);}
.agenda-export-summary span{font-size:12px;color:var(--muted,#64748b);}
.agenda-export-list{display:grid;gap:8px;max-height:350px;overflow-y:auto;padding-right:4px;}
.agenda-export-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--border,#d7e2ed);background:var(--card,#fff);cursor:pointer;}
.agenda-export-item:hover{background:var(--card-soft,#f7fafc);}
.agenda-export-item input{width:18px;height:18px;}
.agenda-export-item-info{display:grid;gap:3px;}
.agenda-export-item-info strong{font-size:13px;}
.agenda-export-item-info span{font-size:12px;color:var(--muted,#64748b);}
.agenda-export-actions{display:flex;justify-content:flex-end;gap:10px;}
.agenda-export-empty{padding:24px;text-align:center;color:var(--muted,#64748b);border:1px dashed var(--border,#d7e2ed);}
@media(max-width:640px){.agenda-export-summary{align-items:flex-start;flex-direction:column}.agenda-export-actions{display:grid;grid-template-columns:1fr 1fr}.agenda-prontuarios-head-actions{flex-wrap:wrap}}


/* Ajustes finais da exportação de prontuários */
.agenda-prontuarios-head-actions{
    flex-wrap:nowrap;
    justify-content:flex-end;
}
.agenda-prontuarios-head-actions .btn{
    width:auto !important;
    min-width:0 !important;
    flex:0 0 auto;
    padding-left:14px;
    padding-right:14px;
    white-space:nowrap;
}
@media(max-width:700px){
    .agenda-prontuarios-head-actions{
        width:100%;
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-start;
    }
    .agenda-prontuarios-head-actions .btn{width:auto !important;}
}
@media(max-width:640px){
    .agenda-export-actions{grid-template-columns:1fr;}
}


/* Correção mobile: busca, Prontuários, avisos e configurações sem sobreposição */
@media (max-width: 820px) {
    .agenda-top-row-compact {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px 8px !important;
        align-items: center !important;
    }
    .agenda-toolbar-client-group {
        grid-column: 1;
        grid-row: 1;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 6px !important;
        min-width: 0;
    }
    .agenda-toolbar-search,
    #agenda-history-client-name {
        min-width: 0 !important;
        width: 100% !important;
    }
    .agenda-toolbar-client-group .agenda-prontuarios-open {
        min-width: 78px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 9px !important;
        white-space: nowrap !important;
    }
    .agenda-toolbar-actions {
        position: static !important;
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        display: flex !important;
        gap: 5px !important;
    }
    .agenda-icon-action {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
    }
    .agenda-summary-inline {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (max-width: 430px) {
    .agenda-top-row-compact { gap: 9px 6px !important; }
    .agenda-toolbar-client-group { gap: 5px !important; }
    .agenda-toolbar-client-group .agenda-prontuarios-open {
        min-width: 72px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 8.5px !important;
    }
    .agenda-toolbar-actions { gap: 4px !important; }
    .agenda-icon-action {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
    }
}

/* ===== Correção: ocultar controles de data na tela de Prontuários no mobile ===== */
@media (max-width: 980px) {
  body.logged-app #agenda-date-actions-row.hidden {
    display: none !important;
  }

  body.logged-app #agenda-toolbar-row.hidden {
    display: none !important;
  }
}

/* Chip Clientes agendados */
.agenda-summary-inline { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.agenda-client-scheduled-item { grid-template-columns: 70px minmax(0,1fr) auto !important; }
.agenda-client-open-label { color: var(--primary); font-weight: 900; font-size: 11px; }
@media (max-width: 980px) {
  .agenda-summary-inline { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .agenda-summary-inline .agenda-summary-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .agenda-client-scheduled-item { grid-template-columns: 52px minmax(0,1fr) auto !important; }
}


/* Comparador de imagens dos prontuários */
.agenda-comparador-modal-card { width:min(100%, 900px); }
.agenda-comparador-body { padding:20px 24px 24px; }
.agenda-comparador-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.agenda-comparador-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:2px 0 12px; padding:11px 13px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.agenda-comparador-summary strong { color:var(--primary); font-size:12px; white-space:nowrap; }
.agenda-comparador-summary span { color:var(--muted); font-size:10px; line-height:1.45; text-align:right; }
.agenda-comparador-datas { max-height:360px; overflow-y:auto; border:1px solid var(--line); border-radius:14px; background:#fbfdff; }
.agenda-comparador-item { display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:center; padding:13px 14px; border-bottom:1px solid #e7eef5; cursor:pointer; }
.agenda-comparador-item:last-child { border-bottom:0; }
.agenda-comparador-item:hover { background:#f3f8fc; }
.agenda-comparador-item input { width:18px; height:18px; min-height:0; margin:0; }
.agenda-comparador-item-info strong { display:block; color:var(--primary); font-size:12px; }
.agenda-comparador-item-info span { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.agenda-comparador-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }
.agenda-comparador-actions .btn { width:auto; }
@media (max-width:700px) {
  .agenda-comparador-grid { grid-template-columns:1fr; gap:0; }
  .agenda-comparador-summary { align-items:flex-start; flex-direction:column; }
  .agenda-comparador-summary span { text-align:left; }
  .agenda-comparador-actions { display:grid; grid-template-columns:1fr; }
  .agenda-comparador-actions .btn { width:100%; }
  .agenda-prontuarios-head-actions { flex-wrap:wrap; }
}
