@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600&display=swap');

:root{
 --terracotta:#8fd8d2;--parchment:#f9fbf2;--aged:#eff2e5;--taupe:#c9cbbf;
 --ink:#130e30;--charcoal:#222222;--graphite:#5f5c6e;--ash:#777582;
 --primary:#8fd8d2;--primary-soft:#dff3f1;--bg:#f9fbf2;--surface:#eff2e5;
 --border:#c9cbbf;--text:#130e30;--muted:#5f5c6e;
 --success:#2b6451;--warning:#9a6800;--danger:#a33d52;
 --sans:"Inter",ui-sans-serif,system-ui,sans-serif;
 --display:"DM Serif Display",Georgia,serif;
 --mono:"Inter",ui-sans-serif,system-ui,sans-serif;
 --shadow-xl:none;
 font-family:var(--sans)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--parchment);color:var(--ink);font:400 16px/1.5 var(--sans);letter-spacing:-.01em}
button,input,select{font:inherit;letter-spacing:-.01em}button{cursor:pointer}.hidden{display:none!important}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(19,14,48,.14);outline-offset:2px}

.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px;background:var(--parchment)}
.auth-card{width:min(500px,100%);padding:40px;background:var(--aged);border-radius:16px}
.auth-card h1{margin:40px 0 16px;font:400 45px/1.1 var(--display);letter-spacing:normal}.auth-card h1::after{content:" simples";font-style:italic;font-weight:300}
.auth-card p{color:var(--charcoal);font-size:16px}.turnstile-slot{min-height:72px;margin:32px 0 16px}

.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-weight:600;font-size:14px}.brand small{display:block;color:var(--graphite);font-size:14px;margin-top:1px}
.brand-mark{width:40px;height:40px;border-radius:16px;display:grid;place-items:center;background:var(--ink);color:var(--parchment);font-weight:700}.brand-large .brand-mark{width:48px;height:48px}

.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:32px 24px;background:var(--parchment);border-right:1px solid var(--taupe);display:flex;flex-direction:column}
.sidebar nav{display:grid;gap:4px;margin-top:48px}.nav-item{border:0;background:transparent;text-align:left;color:var(--ink);padding:10px 12px;border-radius:16px;font-size:14px}
.nav-item:hover{background:var(--aged)}.nav-item.active{background:var(--primary);color:var(--ink);font-weight:600}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--taupe);padding-top:24px}.user-chip{font-size:12px;color:var(--graphite);margin-bottom:16px}

.main{min-width:0;width:100%;max-width:none;padding:0 40px 100px}
.topbar{min-height:144px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--taupe)}
.topbar h1{margin:6px 0 0;font:400 45px/1.1 var(--display);letter-spacing:normal}.topbar h1::first-letter{font-style:normal}
.eyebrow{margin:0;color:var(--ink);font-size:12px;line-height:1.4;font-weight:600;text-transform:uppercase}
.page-context{margin:10px 0 0;color:var(--graphite);font-size:14px}.topbar-actions{display:flex;align-items:center;gap:12px}

.primary-button,.ghost-button,.apk-download{min-height:44px;padding:0 24px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.primary-button{border:1px solid var(--ink);background:var(--primary);color:var(--ink)}.primary-button:hover{background:#72c8c1}.primary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button.small{min-height:40px}
.ghost-button,.apk-download{background:transparent;border:1px solid var(--ink);color:var(--ink)}.ghost-button:hover,.apk-download:hover{background:var(--aged)}
.icon-button{width:40px;height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink)}.icon-button:hover{background:var(--aged)}
.sidebar-download{width:100%;margin-bottom:10px;padding:0 12px}

.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.metric-card{min-height:150px;padding:32px 24px;background:var(--aged);border-radius:16px}.metric-card .label{font-size:14px;color:var(--graphite)}
.metric-card .value{margin-top:16px;font:400 34px/1.15 var(--display);letter-spacing:normal}.metric-meta{margin-top:10px;color:var(--graphite);font-size:14px}.metric-accent{display:none}
.two-column{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-top:32px}.panel{padding:32px;background:var(--aged);border:0;border-radius:16px}
.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.panel h2{margin:0;font:400 34px/1.15 var(--display);letter-spacing:normal}
.section-note,.panel p,.legal{color:var(--graphite);font-size:14px}.section-note{margin:8px 0 0}.panel.emphasis{background:var(--aged);color:var(--ink)}

.alert-list,.timeline{display:grid;gap:0}.alert{padding:16px 0;border-bottom:1px solid var(--taupe);display:grid;grid-template-columns:10px 1fr;gap:12px}.alert:last-child{border-bottom:0}
.alert-dot{width:7px;height:7px;border-radius:2px;margin-top:8px;background:var(--terracotta)}.alert strong{display:block;font-weight:600;font-size:14px}.alert span{display:block;color:var(--graphite);font-size:14px;margin-top:3px}

.toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:32px 0 24px}
.search,.select{background:var(--parchment);border:1px solid var(--ash);border-radius:8px;padding:12px 20px;color:var(--ink);font-size:14px;outline:0}.search{flex:1;min-width:280px;max-width:560px}.search:focus,.select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(19,14,48,.14)}
.search::placeholder{color:var(--graphite)}

.table-wrap{overflow:auto;width:100%;background:var(--parchment);border:1px solid var(--taupe);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:100%}
th,td{text-align:left;padding:16px;border-bottom:1px solid var(--taupe);font-size:14px}th{background:var(--aged);color:var(--graphite);font-size:12px;font-weight:600;text-transform:uppercase}tr:last-child td{border-bottom:0}tr:hover td{background:#fcf5e9}
td strong{font-weight:600}td small{color:var(--graphite)}
.badge{display:inline-flex;align-items:center;border-radius:8px;padding:6px 10px;font:400 11px/1 var(--mono)}
.badge.success{background:var(--aged);color:var(--ink)}.badge.warning{background:var(--aged);color:var(--ink)}.badge.danger{background:var(--aged);color:var(--danger)}.badge.neutral{background:var(--aged);color:var(--graphite)}
.link-button{border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600;padding:8px 12px}.link-button:hover{background:var(--aged);border-radius:16px}

.schedule-week{display:grid;grid-template-columns:90px repeat(5,1fr);gap:1px;background:var(--taupe);border-radius:16px;overflow:hidden}.schedule-cell{background:var(--parchment);padding:12px;min-height:84px;font-size:14px}.schedule-cell.heading{min-height:46px;color:var(--graphite);background:var(--aged);font-size:12px}
.schedule-slot{background:var(--aged);color:var(--ink);border-radius:16px;padding:10px;margin-bottom:6px;border-bottom:2px solid var(--terracotta)}

.drawer-backdrop{position:fixed;inset:0;background:rgba(42,43,47,.18);z-index:30}.drawer{position:fixed;z-index:40;top:0;right:0;height:100vh;width:min(540px,92vw);background:var(--parchment);box-shadow:var(--shadow-xl);padding:40px;overflow:auto}
.drawer h2{margin:0;font:400 34px/1.15 var(--display);letter-spacing:normal}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail{padding:20px;background:var(--aged);border-radius:16px}
.detail label{display:block;color:var(--graphite);font-size:14px;margin-bottom:6px}.detail strong{font-weight:600;font-size:14px}

.selection-context{position:fixed;left:240px;right:0;bottom:0;z-index:24;min-height:64px;padding:10px 40px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--aged);border-top:1px solid var(--taupe)}
.selection-context-copy{min-width:0;display:flex;align-items:baseline;gap:12px}.selection-context-type{color:var(--ink);font:400 11px/1 var(--mono);text-transform:uppercase}.selection-context-copy strong{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-context-meta{color:var(--graphite);font-size:14px;white-space:nowrap}
.selection-context-clear{width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:20px}.selection-context-clear:hover{background:var(--parchment)}

@media(max-width:1050px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--taupe)}.sidebar nav{grid-template-columns:repeat(2,1fr);margin-top:24px}.main{padding:0 24px 96px}.topbar{align-items:flex-start;padding:32px 0;gap:20px;flex-direction:column}.topbar h1{font-size:34px}.dashboard-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.toolbar>*{width:100%;max-width:none}.selection-context{left:0;padding:10px 24px}.selection-context-copy{display:grid;gap:2px}.selection-context-meta{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Ditto adaptation: preserve the product's professional geometry instead of marketing pills. */
.sidebar{background:var(--aged)}
.topbar h1,.panel h2,.drawer h2,.metric-card .value,.auth-card h1{font-family:var(--display);font-weight:400;color:var(--ink);letter-spacing:-.01em}
.eyebrow,.selection-context-type{color:var(--graphite);font-weight:500}
.primary-button{border-radius:8px}
.ghost-button,.apk-download,.icon-button,.selection-context-clear{border-radius:8px}
.search,.select{border-radius:8px}
.metric-card,.panel,.table-wrap,.detail,.schedule-week{border-radius:16px}
.badge{border-radius:6px}
.link-button{color:var(--ink);text-decoration:underline;text-decoration-color:#8fd8d2;text-decoration-thickness:3px;text-underline-offset:3px}
.metric-card{background:var(--aged);border:0}
th{background:var(--aged);color:var(--graphite)}
tr:hover td{background:#f4f6ec}
.schedule-slot{background:var(--aged);border-bottom:0;border-left:4px solid var(--primary)}
.drawer{background:var(--parchment);box-shadow:none;border-left:1px solid var(--taupe)}
.selection-context{background:var(--aged)}
.selection-context-type{color:var(--ink)}

/* Product adaptation: calm turquoise action language instead of Ditto highlighter yellow. */
:root{--action-turquoise:#8fd8d2;--action-turquoise-hover:#72c8c1;--action-turquoise-soft:#dff3f1}
.primary-button{background:var(--action-turquoise);border-color:var(--ink);color:var(--ink)}
.primary-button:hover{background:var(--action-turquoise-hover)}
.nav-item.active{background:var(--action-turquoise);color:var(--ink)}
.link-button{text-decoration-color:var(--action-turquoise)}
.schedule-slot{border-left-color:var(--action-turquoise)}

/* Entity-aware section language: quiet pastels, compact geometry, translucent hover. */
:root{
 --section-dashboard:#dce8e6;
 --section-beneficiary:#cfe8e5;
 --section-network:#d9e4f2;
 --section-schedule:#e7def0;
 --section-authorization:#eee3cf;
 --section-billing:#dce9d7;
 --section-audit:#e8dfe2;
}
.nav-item,.primary-button,.ghost-button,.apk-download,.search,.select{
 border-radius:6px;
}
.nav-item{border-left:3px solid transparent}
.nav-item:hover,.ghost-button:hover,.apk-download:hover{
 background:rgba(19,14,48,.055);
}
.primary-button:hover{
 background:rgba(143,216,210,.58);
}
.search:hover,.select:hover{
 background:rgba(239,242,229,.62);
}
.nav-item.active{background:transparent;color:var(--ink);font-weight:600}
.nav-item[data-section="dashboard"].active{background:var(--section-dashboard);border-left-color:#7fa8a2}
.nav-item[data-section="beneficiaries"].active{background:var(--section-beneficiary);border-left-color:#62aaa3}
.nav-item[data-section="network"].active{background:var(--section-network);border-left-color:#789fc8}
.nav-item[data-section="schedule"].active{background:var(--section-schedule);border-left-color:#9b82b5}
.nav-item[data-section="authorizations"].active{background:var(--section-authorization);border-left-color:#b59661}
.nav-item[data-section="billing"].active{background:var(--section-billing);border-left-color:#7fa873}
.nav-item[data-section="audit"].active{background:var(--section-audit);border-left-color:#aa8791}

/* Showroom width guardrail */
.main{width:100%;max-width:none}
.table-wrap{width:100%}
table{width:100%;min-width:100%}
