/* DigitClínicas 1.1.11 · official Ocean layout fidelity layer.
 * Loaded last; all primary controls share design tokens and predictable spacing.
 */
:root{--dc-ui-space:18px;--dc-ui-btn-height:42px;--dc-ui-radius:12px}
.app-shell{--dc-ui-gap:20px;--dc-ui-btn-height:42px;--dc-ui-radius:var(--dc-radius,12px);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.app-shell .content-area{padding:24px clamp(18px,2vw,34px) 48px!important;display:flow-root;min-width:0}
.app-shell .page-heading{margin-bottom:22px!important;min-height:58px;gap:20px}
.app-shell .page-heading h1{font-weight:800;letter-spacing:-.8px;margin:0}
.app-shell .page-heading+.dc-tabs{margin-top:8px}
.app-shell .surface-card,.app-shell .dc-rf-toolbar,.app-shell .dc-ops-toolbar,.app-shell .dc-backup-layout .surface-card{margin-bottom:22px!important;min-width:0;padding:22px!important;border-radius:var(--dc-ui-radius)!important;box-shadow:0 8px 28px rgba(15,45,70,.055)!important}
.app-shell .card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px!important}
.app-shell .card-head h2{font-size:16px!important;font-weight:750;line-height:1.4}
.app-shell .card-head p{font-size:13px!important;color:var(--skin-muted);line-height:1.55}
.app-shell .row{--bs-gutter-x:20px;--bs-gutter-y:20px}
.app-shell .metric-card,.app-shell .dc-dashboard-kpi{padding:20px!important;min-height:150px;border-radius:var(--dc-ui-radius)!important}
.app-shell .metric-value,.app-shell .dc-dashboard-kpi strong{letter-spacing:-.8px}
.app-shell .dc-dashboard-kpis{gap:16px!important;margin:0 0 22px!important}
.app-shell .btn:not(.btn-link),.app-shell button.btn:not(.btn-link),.app-shell a.btn:not(.btn-link){border-radius:10px!important;min-height:var(--dc-ui-btn-height)!important;padding:10px 17px!important;font-size:12px!important;line-height:1.25!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;vertical-align:middle;text-decoration:none;box-shadow:none;white-space:normal;transition:filter .15s,transform .15s}
.app-shell .btn.btn-sm:not(.btn-link){min-height:35px!important;padding:7px 12px!important;font-size:11.5px!important}
.app-shell .btn:hover:not(:disabled){filter:brightness(.96)}
.app-shell .btn:active:not(:disabled){transform:translateY(1px)}
.app-shell .btn-brand{background:var(--skin-accent)!important;color:#fff!important;border:1px solid var(--skin-accent)!important}
.app-shell .btn-outline-primary{color:var(--skin-accent)!important;border:1px solid color-mix(in srgb,var(--skin-accent),white 48%)!important;background:transparent!important}
.app-shell .btn-outline-primary:hover{background:color-mix(in srgb,var(--skin-accent),transparent 91%)!important}
.app-shell .btn-outline-secondary{color:var(--skin-ink)!important;border:1px solid var(--skin-border)!important;background:var(--skin-card)!important}
.app-shell .btn-outline-danger{color:#b33444!important;background:transparent!important;border:1px solid #e8bec6!important}
.app-shell .btn-link{font-weight:700;text-underline-offset:3px}
.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{font-family:inherit}
.app-shell .form-control,.app-shell .form-select{min-height:44px!important;border-radius:10px!important;font-size:13px!important;padding:11px 14px!important}
.app-shell .form-label{margin-bottom:8px!important;display:block;font-size:12.5px!important;font-weight:700}
.app-shell .input-group-text{border-radius:10px 0 0 10px!important}
.app-shell :is(.dc-rf-actions,.dc-action-strip,.dc-ops-toolbar,.dc-button-row,.dc-preview-toolbar,.dc-section-header,.dc-backup-form,.dc-notification-actions){gap:12px!important}
.app-shell .dc-action-strip{margin-top:20px!important;margin-bottom:20px!important;padding:14px 0;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.app-shell .table-responsive{max-width:100%;border-radius:10px}
.app-shell .table-modern{border-spacing:0;border-collapse:separate}
.app-shell .table-modern :is(th,td){padding:15px 13px!important;vertical-align:middle}
.app-shell .table-modern thead th{background:var(--skin-page);font-size:11px;letter-spacing:.15px}
.app-shell .dc-tabs{margin:0 0 20px!important;overflow-x:auto;white-space:nowrap;display:flex;flex-wrap:nowrap;gap:4px!important;box-shadow:0 3px 12px #0b30410b}
.app-shell .dc-tabs .nav-link{font-weight:650;min-height:47px;padding:11px 17px!important;white-space:nowrap}
.app-shell .dc-info-banner{margin-bottom:20px!important;padding:14px 17px!important;border:1px solid #b6deff}
.app-shell .sidebar{width:var(--dc-sidebar,250px)!important}
.app-shell .sidebar .brand{padding-block:6px 20px!important;min-height:58px}
.app-shell .side-nav{gap:6px!important}
.app-shell .side-link{min-height:44px!important;padding:10px 12px!important;border-radius:9px}
.app-shell .topbar{min-height:65px!important;gap:18px}
.app-shell .top-help-link{color:#dcecf6!important;min-height:40px;padding:9px!important;text-decoration:none!important;display:flex;gap:6px;align-items:center}
.app-shell .top-help-link:hover{color:var(--skin-highlight)!important}
.app-shell .topbar .top-icon{height:40px;min-width:40px;display:inline-grid;place-items:center;border-radius:10px}
.app-shell .profile-trigger{gap:10px;min-height:44px;display:flex;align-items:center;max-width:210px}
/* Appearance design: double-column hierarchy, color controls and brand previews. */
.app-shell .dc-appearance-layout{grid-template-columns:minmax(0,7fr) minmax(350px,5fr);gap:20px}
.app-shell .dc-skin-options-v2{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.app-shell .dc-skin-select{border:1px solid var(--skin-border);border-radius:11px;min-height:170px!important;padding:12px!important;cursor:pointer}
.app-shell .dc-skin-select strong{font-size:12.5px}
.app-shell .dc-skin-select small{color:var(--skin-muted);line-height:1.35}
.app-shell .dc-visual-demo{overflow:hidden;border-radius:12px!important;border:1px solid var(--skin-border)!important;box-shadow:0 10px 30px #04283f17;min-width:0}
.app-shell .dc-brand-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.app-shell .dc-brand-upload{display:flex;flex-direction:column;gap:9px;min-height:180px;min-width:0;background:color-mix(in srgb,var(--skin-page),white 35%);border:1px solid var(--skin-border);border-radius:11px;padding:12px!important}
.app-shell .dc-brand-upload strong{font-size:12px}
.app-shell .dc-brand-upload .dc-brand-image,.app-shell .dc-brand-upload .dc-brand-placeholder{height:89px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px dashed color-mix(in srgb,var(--skin-accent),transparent 65%);background:var(--skin-card);border-radius:9px;text-align:center;font-size:11px;color:var(--skin-muted)}
.app-shell .dc-brand-image img{height:100%;width:100%;object-fit:contain}
.app-shell .dc-brand-upload[data-dc-selected] .dc-brand-image,.app-shell .dc-brand-upload[data-dc-selected] .dc-brand-placeholder{border-color:var(--skin-accent)}
.app-shell .dc-brand-upload input[type=file]{max-width:100%;font-size:11px!important;cursor:pointer;min-height:39px!important;padding:6px!important}
.app-shell .dc-brand-upload small{font-size:10.5px;line-height:1.4;color:var(--skin-muted)}
.app-shell .dc-custom-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.app-shell .dc-custom-options>*{min-width:0}
.app-shell .dc-custom-options .dc-wide{grid-column:span 2}
.app-shell .dc-color-control{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;background:color-mix(in srgb,var(--skin-page),white 45%);border:1px solid var(--skin-border);padding:12px!important;border-radius:10px;font-size:12px;font-weight:650}
.app-shell .dc-color-control-row{width:100%;display:flex;gap:12px;align-items:center}
.app-shell .dc-color-control input[type=color]{height:37px!important;width:55px!important;min-width:55px;border:1px solid var(--skin-border);padding:3px;border-radius:8px;cursor:pointer;background:#fff}
.app-shell .dc-color-control code{color:var(--skin-ink);font-size:11px}
.app-shell .dc-appearance-hint{margin-top:15px;font-size:12px;line-height:1.6}
/* Unified offcanvas layout in Bootstrap panels, both account and notifications. */
.panel-offcanvas{--bs-offcanvas-width:min(440px,100vw);background:#f4f8fb!important;color:#122b42!important;box-shadow:-18px 0 52px #001f351e}
.panel-offcanvas .offcanvas-header{display:flex;align-items:center;gap:16px;padding:23px 25px;background:linear-gradient(130deg,#082b43,#0c455e);color:#fff;border-bottom:1px solid #ffffff1c;min-height:97px}
.panel-offcanvas .offcanvas-header .offcanvas-title{font-size:19px;font-weight:780;letter-spacing:-.3px;margin:0;color:#fff}
.panel-offcanvas .offcanvas-header .btn-close{filter:invert(1);margin-inline-start:auto;border-radius:9px;opacity:.9}
.panel-offcanvas .offcanvas-body{padding:24px;display:flex;flex-direction:column;gap:17px;overscroll-behavior:contain}
.panel-offcanvas .account-header{background:#fff;padding:22px 16px;border-radius:14px;border:1px solid #dce7f0;display:flex;flex-direction:column;gap:6px;align-items:center;box-shadow:0 8px 20px #09283f0b}
.panel-offcanvas .account-header b{font-size:17px;color:#0b2c43}
.panel-offcanvas .account-header small{color:#5e788c}
.panel-offcanvas .avatar-large{width:70px;height:70px;border-radius:50%;background:linear-gradient(140deg,#0e8c9b,#55d7ba);display:flex;align-items:center;justify-content:center;font-size:29px;color:#083048;border:4px solid #e0f9f3;overflow:hidden}
.panel-offcanvas .offcanvas-section-title{font-size:11px;letter-spacing:1.1px;font-weight:800;color:#6b8091;margin-top:4px}
.panel-offcanvas .offcanvas-menu-link{display:flex;align-items:center;gap:15px;min-height:54px;background:#fff;color:#10344e!important;padding:13px 15px;border:1px solid #e0eaf2;border-radius:10px;font-weight:650;font-size:13px;text-decoration:none!important;transition:background .15s}
.panel-offcanvas .offcanvas-menu-link:hover{background:#e9f7f6}
.panel-offcanvas .offcanvas-menu-link i:first-child{font-size:19px;color:#087f85}
.panel-offcanvas .offcanvas-menu-link i:last-child{margin-left:auto;color:#8ea1af}
.panel-offcanvas .btn{min-height:42px!important;border-radius:10px!important;font-size:12px!important;padding:10px 15px!important;display:inline-flex;justify-content:center;align-items:center;gap:9px}
.panel-offcanvas .btn-sm{min-height:34px!important;padding:7px 10px!important}
.panel-offcanvas .notif-row{background:#fff;border:1px solid #dce9f0;border-radius:12px;padding:14px;display:flex;gap:12px;align-items:flex-start;margin:0}
.panel-offcanvas .notif-row.unread{border-left:3px solid #11b6b2;background:#f7fefd}
.panel-offcanvas .notif-icon{background:#e5f8f6;border-radius:11px;min-width:37px;height:37px;display:grid;place-items:center;color:#087f85}
.panel-offcanvas .notif-row strong{font-size:13px;color:#102c40}
.panel-offcanvas .notif-row p{margin:5px 0;color:#456174;font-size:12px;line-height:1.6}
.panel-offcanvas .notif-row small{color:#8499a9;font-size:11px}
.panel-offcanvas .dc-panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.panel-offcanvas .dc-panel-actions form{min-width:0}
.panel-offcanvas .dc-panel-actions .btn{width:100%;height:100%}
/* Support-assisted session is clearly distinct from the clinic's authentic login. */
.dc-assist-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:17px 20px;margin-bottom:21px;background:#e9f8f6;border:1px solid #91dace;border-left:4px solid #0ca49b;border-radius:12px;color:#103e45}
.dc-assist-banner>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.dc-assist-banner strong{font-size:14px}.dc-assist-banner small{font-size:12px;line-height:1.5}
.dc-support-assist{border-top:4px solid var(--skin-accent)!important}
.dc-support-log{margin-top:24px;border-top:1px solid var(--skin-border);padding-top:13px}
/* Quick mode: dark workspace / light cards per product specification. */
.app-shell.dc-dark-workspace{--skin-page:#081522!important;--skin-card:#fff!important;--skin-ink:#102c40!important;--skin-muted:#587185!important;--skin-border:#dbe7f0!important}
.app-shell.dc-dark-workspace .content-area{background:#081522!important}
.app-shell.dc-dark-workspace .page-heading h1,.app-shell.dc-dark-workspace .page-eyebrow{color:#e8f8ff!important}
.app-shell.dc-dark-workspace .app-footer{background:#081522!important;color:#b8d0df!important}
.app-shell.dc-dark-workspace .page-heading .date-label{color:#15324a;background:#fff}
.app-shell.dc-dark-workspace .surface-card,.app-shell.dc-dark-workspace .metric-card,.app-shell.dc-dark-workspace .dc-dashboard-kpi{color:#102c40;background:#fff!important}
.auth-layout .auth-bottom-clock strong{font-variant-numeric:tabular-nums;min-width:145px;display:block;font-size:clamp(23px,2.5vw,33px);letter-spacing:1px}
.auth-layout .auth-bottom-clock small{text-transform:capitalize}
/* Consistent touch targets on phones/tablets. */
@media(max-width:1199px){.app-shell .dc-appearance-layout{grid-template-columns:1fr}.app-shell .dc-brand-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.app-shell .surface-card,.app-shell .dc-rf-toolbar{padding:16px!important}.app-shell .dc-skin-options-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .dc-brand-upload-grid,.app-shell .dc-custom-options{grid-template-columns:1fr!important}.app-shell .dc-custom-options .dc-wide{grid-column:auto}.app-shell .dc-action-strip{justify-content:stretch}.app-shell .dc-action-strip .btn{flex:1 1 160px}.app-shell .page-heading{align-items:flex-start}.app-shell .table-modern{min-width:620px}.panel-offcanvas .offcanvas-body{padding:17px}}
@media(prefers-reduced-motion:reduce){.app-shell *, .panel-offcanvas *{transition:none!important;scroll-behavior:auto!important}}
/* Premium Support and audited access */
.dc-support-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:4px 0 18px}
.dc-support-header h2{font-weight:790;font-size:22px;color:var(--skin-ink);margin:0 0 5px}
.dc-support-header p{font-size:13px;color:var(--skin-muted);margin:0}
.dc-support-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}
.dc-support-stat{display:flex;align-items:center;gap:13px;min-width:0;background:var(--skin-card);border:1px solid var(--skin-border);border-radius:12px;padding:19px;text-decoration:none!important;color:var(--skin-ink)!important;box-shadow:0 5px 18px #0b2b4010}
.dc-support-stat>span{height:46px;min-width:46px;background:color-mix(in srgb,var(--skin-accent),white 89%);color:var(--skin-accent);border-radius:11px;display:grid;place-items:center;font-size:22px}
.dc-support-stat div{display:flex;flex-direction:column;gap:4px}.dc-support-stat small{color:var(--skin-muted);font-size:12px}.dc-support-stat b{font-size:25px;font-weight:790;line-height:1}
.dc-support-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}
.dc-support-toolbar input{max-width:580px}.dc-support-toolbar span{white-space:nowrap}
.dc-ticket-state{display:inline-flex;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:750;background:#e5f7f1;color:#157654;white-space:nowrap}
.dc-ticket-aberto{background:#eaf2ff;color:#316aad}.dc-ticket-em_andamento{background:#e5f7f1;color:#157654}.dc-ticket-aguardando{background:#fff3dd;color:#916010}.dc-ticket-resolvido{background:#e4f7ee;color:#14805b}
.dc-thread-messages{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.dc-thread-message{background:color-mix(in srgb,var(--skin-page),white 55%);border:1px solid var(--skin-border);padding:16px;border-radius:12px;color:var(--skin-ink)}
.dc-thread-message header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:7px}
.dc-thread-message strong{font-size:13px}.dc-thread-message time{font-size:11px;color:var(--skin-muted)}.dc-thread-message p{font-size:12px;line-height:1.75;white-space:normal;margin:0}
@media(max-width:900px){.dc-support-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.dc-support-stats{grid-template-columns:1fr}.dc-support-toolbar{flex-direction:column;align-items:stretch}}
.dc-sidebar-story{padding:18px 13px;margin:0 2px 16px;background:radial-gradient(circle at 95% 10%,#0bb6b351,transparent 45%),linear-gradient(150deg,#05293f,#0b5066);border:1px solid #ffffff21;border-radius:16px;color:#dff7fc;min-height:160px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.dc-sidebar-story i{font-size:32px;color:#47decf;text-shadow:0 0 15px #04c6bf90}
.dc-sidebar-story p{font-size:12px;line-height:1.65;margin:0;max-width:165px;color:#f2feff}
.dc-sidebar-story span{display:block;font-size:10px;color:#6bd6d3;letter-spacing:1px;font-weight:750}
.app-shell.sidebar-collapsed .dc-sidebar-story{display:none}
@media(max-height:820px){.dc-sidebar-story{min-height:115px;padding:12px;margin-bottom:8px;gap:6px}.dc-sidebar-story p{font-size:11px}}
