
:root { --orange:#f36b21; --ink:#182035; --muted:#788198; --line:#e9ebf2; --surface:#fff; --bg:#f6f7fb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:var(--font-geist),Arial,sans-serif; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:242px; position:fixed; inset:0 auto 0 0; z-index:20; display:flex; flex-direction:column; padding:28px 18px 20px; background:#fff; border-right:1px solid var(--line); }
.brand { width:190px; height:62px; display:block; position:relative; margin-bottom:22px; text-decoration:none; overflow:hidden; }
.brand img { width:372px; height:auto; max-width:none; position:absolute; left:-163px; top:-63px; display:block; }
.brand-symbol { width:38px; height:38px; display:block; position:relative; overflow:hidden; border-radius:12px; background:#fff; box-shadow:0 5px 14px #18203520; }
.brand-symbol img { width:135px; height:auto; max-width:none; position:absolute; left:-9px; top:-14px; }
.side-nav { display:grid; gap:7px; }
.side-nav button,.side-bottom button,.side-bottom a { width:100%; height:45px; display:flex; align-items:center; gap:14px; padding:0 13px; color:#737c91; background:transparent; border:0; border-radius:12px; text-decoration:none; cursor:pointer; text-align:left; font-size:13px; font-weight:600; }
.side-nav button span,.side-bottom button span,.side-bottom a span { width:20px; color:#9da4b4; text-align:center; font-size:18px; }
.side-nav button.active { color:var(--orange); background:#fff4ed; }
.side-nav button.active span { color:var(--orange); }
.side-bottom { margin-top:auto; display:grid; gap:5px; }
.user-mini { display:flex; align-items:center; gap:10px; margin-top:18px; padding:15px 9px 0; border-top:1px solid var(--line); }
.user-mini>span,.avatar { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; color:#fff; border:0; border-radius:50%; background:#202a42; font-size:11px; font-weight:700; }
.user-mini div { min-width:0; display:grid; flex:1; }
.user-mini b { font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.user-mini small { margin-top:2px; color:#9aa1af; font-size:9px; }
.user-mini i { color:#a6acb9; font-style:normal; }
.workspace { width:calc(100% - 242px); min-height:100vh; margin-left:242px; }
.topbar { height:72px; position:sticky; top:0; z-index:15; display:flex; align-items:center; justify-content:space-between; padding:0 42px; background:#fffffff2; border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.search { width:min(440px,50vw); height:39px; display:flex; align-items:center; gap:10px; padding:0 15px; color:#a2a9b7; background:#f5f6f9; border:1px solid transparent; border-radius:11px; }
.search:focus-within { border-color:#f36b2170; background:#fff; }
.search input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:12px; }
.search input::placeholder { color:#9ba2b2; }
.top-actions { display:flex; align-items:center; gap:13px; }
.top-actions>button:first-child { width:35px; height:35px; position:relative; border:0; background:transparent; font-size:20px; cursor:pointer; }
.top-actions i { width:16px; height:16px; position:absolute; top:0; right:0; display:grid; place-items:center; color:#fff; background:var(--orange); border:2px solid #fff; border-radius:50%; font-size:8px; font-style:normal; }
.mobile-logo { display:none; border:0; background:transparent; }
.content { max-width:1500px; margin:auto; padding:40px 44px 70px; }
.welcome { min-height:120px; display:flex; align-items:center; justify-content:space-between; position:relative; overflow:hidden; margin-bottom:30px; padding:27px 36px; color:#fff; background:linear-gradient(112deg,#f47832 0%,#ef6019 60%,#e85213 100%); border-radius:19px; box-shadow:0 12px 30px #d9551424; }
.welcome:after { content:""; width:380px; height:380px; position:absolute; right:-60px; top:-132px; border:1px solid #ffffff20; border-radius:50%; box-shadow:0 0 0 45px #ffffff09,0 0 0 90px #ffffff08; }
.welcome>div:first-child { z-index:1; }
.eyebrow { display:block; margin-bottom:8px; font-size:8px; font-weight:700; letter-spacing:.16em; opacity:.78; }
.welcome h1 { margin:0 0 5px; font-size:25px; letter-spacing:-.04em; }
.welcome h1 span { font-size:20px; }
.welcome p { margin:0; font-size:12px; opacity:.82; }
.fenia-orb { width:94px; height:94px; z-index:1; display:grid; place-items:center; position:relative; margin-right:35px; border-radius:50%; background:#ffffff18; border:1px solid #ffffff36; box-shadow:inset 0 0 35px #ffffff1c; }
.fenia-orb:before { content:""; width:65px; height:65px; position:absolute; border:1px solid #ffffff45; border-radius:50%; }
.fenia-orb span { font-size:30px; text-shadow:0 0 16px #fff; }
.fenia-orb i { width:9px; height:9px; position:absolute; right:4px; top:9px; background:#fff; border-radius:50%; box-shadow:0 0 10px #fff; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:17px; }
.section-heading h2 { margin:0 0 4px; font-size:17px; letter-spacing:-.03em; }
.section-heading p { margin:0; color:#9aa1b0; font-size:10px; }
.link-button { display:flex; align-items:center; gap:10px; color:var(--orange); background:transparent; border:0; cursor:pointer; font-size:10px; font-weight:700; }
.link-button span { font-size:17px; }
.action-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.action-card { min-height:82px; display:flex; align-items:center; gap:11px; position:relative; padding:14px; background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:0 4px 15px #252b3b05; cursor:pointer; text-align:left; transition:.2s ease; }
.action-card:hover { transform:translateY(-3px); border-color:#f36b2155; box-shadow:0 10px 25px #252b3b10; }
.action-card b { max-width:85px; font-size:10px; line-height:1.35; }
.action-card>i { position:absolute; right:10px; top:calc(50% - 9px); color:#c6cad3; font-size:15px; font-style:normal; }
.action-icon { width:40px; height:40px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; font-size:17px; font-weight:700; }
.action-icon.orange { color:#f36b21; background:#fff0e7; }.action-icon.violet { color:#7b65ce; background:#f0edff; }.action-icon.green { color:#35a26e; background:#e9f8f0; }.action-icon.blue { color:#4f7bda; background:#edf3ff; }.action-icon.pink { color:#d65b88; background:#ffedf4; }.action-icon.sky { color:#3ba6d1; background:#eaf8fe; }.action-icon.indigo { color:#5868c4; background:#edf0ff; }.action-icon.amber { color:#d99524; background:#fff5df; }.action-icon.teal { color:#329a96; background:#e9f8f6; }.action-icon.emerald { color:#399267; background:#eaf7ef; }
.today-section { margin-top:31px; }
.summary-grid { display:grid; grid-template-columns:1.22fr 1fr .9fr; gap:13px; }
.summary-card { min-height:280px; padding:20px 20px 12px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 5px 18px #252b3b05; }
.summary-title { display:flex; align-items:center; gap:11px; margin-bottom:15px; }
.summary-title>div { min-width:0; display:grid; gap:2px; flex:1; }
.summary-title small { color:#a2a8b4; font-size:7px; font-weight:700; letter-spacing:.13em; }
.summary-title b { font-size:12px; }
.summary-title em { align-self:start; padding:4px 8px; color:#f36b21; background:#fff0e7; border-radius:8px; font-size:8px; font-style:normal; font-weight:700; }
.summary-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; font-weight:700; }.summary-icon.calendar { color:#e46c31; background:#fff0e8; }.summary-icon.tasks { color:#5d72cb; background:#edf0ff; }.summary-icon.alert { color:#db8b20; background:#fff4dd; }
.appointment { display:grid; grid-template-columns:49px 1fr 12px; gap:11px; align-items:center; padding:12px 0; border-top:1px solid #f0f1f5; }
.appointment time { display:grid; color:#3d465c; font-size:12px; font-weight:750; }
.appointment time small { margin-top:1px; color:#afb4bf; font-size:6px; }
.appointment div { min-width:0; display:grid; gap:4px; }
.appointment div b { font-size:9px; }
.appointment div span { color:#969dab; font-size:7.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.appointment button { border:0; background:transparent; color:#a4abb9; cursor:pointer; }
.card-link { width:100%; display:flex; justify-content:space-between; padding:13px 0 0; color:var(--orange); background:transparent; border:0; border-top:1px solid #f0f1f5; cursor:pointer; font-size:8px; font-weight:700; }
.task-card label { min-height:48px; display:flex; align-items:center; gap:9px; padding:8px 0; border-top:1px solid #f0f1f5; cursor:pointer; }
.task-card input { width:16px; height:16px; accent-color:var(--orange); }
.task-card label>span { min-width:0; display:grid; gap:3px; flex:1; }
.task-card label b { font-size:8.5px; }.task-card label small { color:#9ca3b2; font-size:7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.priority { padding:3px 6px; border-radius:5px; font-size:6px; font-style:normal; font-weight:800; }.priority.high { color:#dc5858; background:#ffecec; }.priority.medium { color:#d78f21; background:#fff4df; }.priority.low { color:#40946a; background:#eaf7ef; }
.alert-item { display:flex; gap:10px; padding:13px 0; border-top:1px solid #f0f1f5; }
.alert-item>span { width:29px; height:29px; display:grid; place-items:center; flex:0 0 auto; color:#f36b21; background:#fff2e9; border-radius:9px; font-size:11px; font-weight:800; }
.alert-item div { display:grid; gap:3px; }.alert-item b { font-size:8.5px; }.alert-item small { color:#9ba2b0; font-size:7px; }.alert-item em { color:#e17040; font-size:6.5px; font-style:normal; font-weight:650; }
.bottom-nav { display:none; }

.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:22px; background:#151c2bc2; backdrop-filter:blur(5px); }
.document-modal { width:min(720px,100%); max-height:94vh; overflow:auto; background:#fff; border-radius:22px; box-shadow:0 30px 90px #0b102055; }
.document-modal>header { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:21px 25px; background:#fff; border-bottom:1px solid var(--line); }
.document-modal>header>div { display:flex; align-items:center; gap:12px; }.document-modal>header small { display:block; color:var(--orange); font-size:7px; font-weight:800; letter-spacing:.15em; }.document-modal h2 { margin:3px 0 0; font-size:18px; text-transform:capitalize; }.modal-icon { width:39px; height:39px; display:grid; place-items:center; color:#f36b21; background:#fff0e7; border-radius:12px; font-size:18px; }.document-modal>header>button { width:35px; height:35px; border:0; border-radius:50%; background:#f4f5f8; color:#747d90; font-size:22px; cursor:pointer; }
.doc-form { display:grid; gap:16px; padding:24px 26px 27px; }.doc-form label { display:grid; gap:7px; color:#556078; font-size:10px; font-weight:700; }.doc-form input,.doc-form textarea { width:100%; padding:12px 13px; color:var(--ink); background:#fafafd; border:1px solid #e3e6ed; border-radius:10px; outline:none; font-size:12px; }.doc-form input:focus,.doc-form textarea:focus { border-color:#f36b2180; box-shadow:0 0 0 3px #f36b2112; }.doc-form textarea { min-height:78px; resize:vertical; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:4px; }.modal-actions button,.done-button { padding:12px 18px; border-radius:10px; cursor:pointer; font-size:10px; font-weight:750; }.secondary { background:#fff; border:1px solid #dfe2e9; }.primary,.done-button { color:#fff; background:var(--orange); border:1px solid var(--orange); box-shadow:0 7px 16px #f36b2127; }.primary span { margin-left:8px; }
.created-view { padding:23px 26px 28px; }.success-banner { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding:12px 14px; background:#ebf8f1; border:1px solid #d4f0e0; border-radius:11px; }.success-banner>span { width:30px; height:30px; display:grid; place-items:center; color:#fff; background:#35a26e; border-radius:50%; }.success-banner div { display:grid; gap:2px; }.success-banner b { font-size:10px; }.success-banner small { color:#6d8a7b; font-size:8px; }
.document-preview { min-height:300px; padding:28px 34px; background:#fff; border:1px solid #e2e5eb; border-radius:8px; box-shadow:0 8px 24px #202a4010; }.document-preview>header { display:flex; align-items:center; gap:10px; padding-bottom:18px; border-bottom:3px solid var(--orange); }.document-preview>header>div { display:grid; }.document-preview>header b { font-size:12px; letter-spacing:.12em; }.document-preview>header small { color:#969daa; font-size:7px; }.document-preview>header em { display:grid; gap:3px; margin-left:auto; color:var(--orange); font-size:13px; font-style:normal; font-weight:800; text-align:right; }.document-preview>header em small { color:#7c8494; }.doc-meta { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:25px 0; }.doc-meta>div { display:grid; gap:3px; }.doc-meta small { color:#a0a7b4; font-size:6px; font-weight:800; letter-spacing:.12em; }.doc-meta b { font-size:9px; }.doc-meta span { color:#8c94a4; font-size:7px; }.document-preview table { width:100%; border-collapse:collapse; font-size:8px; }.document-preview th { padding:8px; color:#fff; background:#202a42; text-align:left; }.document-preview th:last-child,.document-preview td:last-child { text-align:right; }.document-preview td { padding:11px 8px; border-bottom:1px solid #e8eaf0; }.document-preview tfoot td { color:var(--orange); font-weight:800; font-size:9px; }.document-preview>p { margin-top:27px; color:#9ba1ad; font-size:7px; text-align:center; }
.share-title { display:grid; gap:3px; margin:20px 0 10px; }.share-title b { font-size:11px; }.share-title small { color:#929aa9; font-size:8px; }.share-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }.share-grid button { display:grid; place-items:center; gap:3px; padding:13px 5px; background:#fff; border:1px solid #e2e5ec; border-radius:11px; cursor:pointer; transition:.2s; }.share-grid button:hover { border-color:#f36b2170; transform:translateY(-2px); }.share-grid span { width:30px; height:30px; display:grid; place-items:center; color:#f36b21; background:#fff1e8; border-radius:50%; font-size:15px; }.share-grid .wa { color:#1fa860; background:#e9f8ef; }.share-grid .mail { color:#5275cb; background:#edf1ff; }.share-grid .share { color:#7e66c7; background:#f1edff; }.share-grid b { font-size:8px; }.share-grid small { color:#a0a6b2; font-size:6.5px; }.done-button { width:100%; margin-top:17px; }
.doc-brand { width:82px; height:30px; display:block; position:relative; overflow:hidden; flex:0 0 auto; }.doc-brand img { width:170px; height:auto; max-width:none; position:absolute; left:-74px; top:-29px; }

/* Panel maestro */
.admin-shell { min-height:100vh; display:flex; background:#f4f6fa; }.admin-side { width:235px; position:fixed; inset:0 auto 0 0; display:flex; flex-direction:column; padding:25px 18px; background:#182035; color:#fff; }.admin-brand { height:58px; display:flex; align-items:center; overflow:hidden; margin:0 5px 18px; padding:3px 6px; background:#fff; border-radius:12px; }.admin-brand img { width:150px; height:auto; }.master-label { margin:0 12px 18px; color:#7f8ba4; font-size:7px; font-weight:800; letter-spacing:.16em; }.admin-side nav { display:grid; gap:5px; }.admin-side nav a { height:43px; display:flex; align-items:center; gap:12px; padding:0 13px; color:#aeb7c9; border-radius:10px; text-decoration:none; font-size:11px; font-weight:650; }.admin-side nav a span { flex:1; }.admin-side nav a b { padding:3px 7px; color:#ff9860; background:#ffffff12; border-radius:8px; font-size:8px; }.admin-side nav a.active { color:#fff; background:#f36b21; box-shadow:0 8px 18px #0e142340; }.admin-profile { display:flex; align-items:center; gap:10px; margin-top:auto; padding:16px 7px 0; border-top:1px solid #ffffff12; }.admin-profile>span { width:35px; height:35px; display:grid; place-items:center; background:#f36b21; border-radius:50%; font-size:10px; font-weight:800; }.admin-profile div { display:grid; gap:2px; }.admin-profile b { font-size:10px; }.admin-profile small { color:#8e99af; font-size:8px; }.admin-workspace { width:calc(100% - 235px); margin-left:235px; }.admin-top { height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 36px; background:#fff; border-bottom:1px solid var(--line); }.admin-top small { color:#f36b21; font-size:7px; font-weight:800; letter-spacing:.15em; }.admin-top h1 { margin:3px 0 0; font-size:17px; }.admin-top>div:last-child { display:flex; align-items:center; gap:9px; }.admin-top button { width:35px; height:35px; position:relative; border:1px solid #e4e6ec; border-radius:10px; background:#fff; cursor:pointer; }.admin-top button i { width:14px; height:14px; position:absolute; right:-3px; top:-4px; display:grid; place-items:center; color:#fff; background:#f36b21; border-radius:50%; font-size:7px; font-style:normal; }.admin-top a { padding:10px 13px; color:#f36b21; border:1px solid #f36b2140; border-radius:10px; text-decoration:none; font-size:9px; font-weight:750; }.admin-content { max-width:1450px; margin:auto; padding:30px 35px 50px; }.admin-welcome { display:flex; align-items:center; justify-content:space-between; margin-bottom:21px; }.admin-welcome h2 { margin:0 0 5px; font-size:20px; }.admin-welcome p { margin:0; color:#8c94a5; font-size:10px; }.admin-welcome button { padding:11px 15px; color:#fff; background:#f36b21; border:0; border-radius:10px; box-shadow:0 7px 16px #f36b2128; font-size:9px; font-weight:750; }.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }.metric-grid article { min-height:107px; display:flex; align-items:center; gap:14px; padding:19px; background:#fff; border:1px solid #e8eaf0; border-radius:15px; }.metric-icon { width:43px; height:43px; display:grid; place-items:center; flex:0 0 auto; border-radius:12px; font-size:18px; font-weight:800; }.metric-icon.users { color:#5876d5; background:#edf1ff; }.metric-icon.active { color:#37a36f; background:#eaf8f0; }.metric-icon.trial { color:#d79324; background:#fff4df; }.metric-icon.revenue { color:#f36b21; background:#fff0e8; }.metric-grid article div { display:grid; gap:2px; }.metric-grid small { color:#929baa; font-size:7px; font-weight:750; letter-spacing:.1em; }.metric-grid strong { font-size:22px; }.metric-grid em { color:#50a177; font-size:7px; font-style:normal; }.admin-panels { display:grid; grid-template-columns:1.6fr .9fr; gap:14px; margin-top:14px; }.admin-chart,.plan-panel,.users-panel { background:#fff; border:1px solid #e8eaf0; border-radius:15px; }.admin-chart>header,.plan-panel>header,.users-panel>header { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid #eceef3; }.admin-chart h3,.plan-panel h3,.users-panel h3 { margin:0 0 3px; font-size:12px; }.admin-chart p,.plan-panel p,.users-panel p { margin:0; color:#9299a8; font-size:8px; }.admin-chart select { padding:7px 9px; color:#6f788b; background:#fff; border:1px solid #e3e6ed; border-radius:8px; font-size:8px; }.chart-area { height:190px; display:flex; gap:12px; padding:22px 24px 15px; }.y-axis { display:flex; flex-direction:column; justify-content:space-between; color:#a6adba; font-size:7px; }.bars { flex:1; display:flex; align-items:flex-end; justify-content:space-around; border-bottom:1px solid #dde0e7; background:repeating-linear-gradient(to bottom,#fff 0,#fff 36px,#eff1f5 37px); }.bars>div { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:7px; }.bars>div>span { width:25px; min-height:20px; position:relative; background:linear-gradient(#ff8a4c,#f36b21); border-radius:6px 6px 0 0; }.bars i { position:absolute; top:-14px; left:50%; transform:translateX(-50%); color:#6e7789; font-size:7px; font-style:normal; }.bars small { margin-bottom:-13px; color:#929aaa; font-size:7px; }.plan-panel { padding-bottom:15px; }.donut { width:105px; height:105px; display:grid; place-items:center; margin:17px auto 10px; background:conic-gradient(#f36b21 0 57.5%,#637bd6 57.5% 92.2%,#f2b34e 92.2%); border-radius:50%; }.donut:before { content:""; width:68px; height:68px; grid-area:1/1; background:#fff; border-radius:50%; }.donut div { z-index:1; grid-area:1/1; display:grid; text-align:center; }.donut strong { font-size:18px; }.donut small { color:#9aa1b0; font-size:7px; }.plan-panel ul { display:grid; gap:8px; margin:0; padding:0 23px; list-style:none; }.plan-panel li { display:flex; align-items:center; gap:8px; font-size:8px; }.plan-panel li b { flex:1; }.plan-panel li em { color:#8f97a7; font-style:normal; }.dot { width:7px; height:7px; border-radius:50%; }.dot.pro { background:#f36b21; }.dot.basic { background:#637bd6; }.dot.trial { background:#f2b34e; }.users-panel { margin-top:14px; }.users-panel>header>div:last-child { display:flex; gap:8px; }.users-panel label { display:flex; align-items:center; gap:5px; padding:0 9px; color:#a0a7b4; border:1px solid #e2e5eb; border-radius:8px; }.users-panel input { width:130px; padding:7px 0; border:0; outline:0; font-size:8px; }.users-panel header button { padding:8px 11px; color:#f36b21; background:#fff; border:1px solid #f36b2145; border-radius:8px; font-size:8px; font-weight:700; }.table-wrap { overflow:auto; }.users-panel table { width:100%; border-collapse:collapse; }.users-panel th { padding:10px 15px; color:#9aa1af; background:#fafbfc; font-size:7px; text-align:left; }.users-panel td { padding:11px 15px; border-top:1px solid #eff0f4; color:#5d6678; font-size:8px; }.users-panel td:first-child { min-width:245px; display:flex; align-items:center; gap:9px; }.users-panel td:first-child div { display:grid; gap:2px; }.users-panel td b { color:#2f384c; font-size:8.5px; }.users-panel td small { color:#969dab; font-size:7px; }.table-avatar { width:30px; height:30px; display:grid; place-items:center; color:#fff; background:#28334e; border-radius:9px; font-size:8px; font-weight:750; }.plan,.status { padding:4px 7px; border-radius:7px; font-size:7px; font-weight:700; }.plan.pro { color:#f36b21; background:#fff0e8; }.plan.basic { color:#5d72cb; background:#edf1ff; }.status.activo { color:#34996a; background:#eaf8f0; }.status.prueba { color:#d78e20; background:#fff4df; }.status.suspendido { color:#c85c5c; background:#ffeded; }.users-panel td:last-child button { border:0; background:transparent; color:#9aa1b0; }
.admin-brand { width:188px; height:58px; display:block; position:relative; padding:0; }.admin-brand img { width:350px; height:auto; max-width:none; position:absolute; left:-151px; top:-59px; }

@media (max-width:1100px) { .action-grid{grid-template-columns:repeat(3,1fr)} .summary-grid{grid-template-columns:1fr 1fr}.alert-card{grid-column:1/-1}.sidebar{width:210px}.workspace{width:calc(100% - 210px);margin-left:210px}.content{padding-inline:30px}.topbar{padding-inline:30px} }
@media (max-width:1100px) { .metric-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:760px) {
  .app-shell { padding-bottom:72px; }.sidebar { display:none; }.workspace { width:100%; margin:0; }.topbar { height:62px; padding:0 18px; }.mobile-logo { display:block; padding:0; }.search { display:none; }.content { padding:18px 16px 28px; }.welcome { min-height:150px; margin-bottom:24px; padding:25px 22px; border-radius:20px; }.welcome h1 { font-size:24px; max-width:240px; }.welcome p { max-width:225px; font-size:11px; line-height:1.5; }.fenia-orb { width:68px; height:68px; position:absolute; right:6px; bottom:9px; margin:0; }.fenia-orb:before { width:45px; height:45px; }.fenia-orb span { font-size:22px; }.section-heading { align-items:center; }.section-heading h2 { font-size:18px; }.section-heading p { font-size:10px; max-width:230px; }.action-grid { grid-template-columns:repeat(2,1fr); gap:10px; }.action-card { min-height:105px; align-items:flex-start; flex-direction:column; justify-content:center; padding:14px; }.action-card b { max-width:110px; font-size:11px; }.action-card>i { right:12px; top:auto; bottom:14px; }.action-icon { width:39px; height:39px; }.today-section { margin-top:28px; }.summary-grid { grid-template-columns:1fr; }.alert-card { grid-column:auto; }.summary-card { min-height:auto; }.bottom-nav { height:68px; position:fixed; z-index:40; inset:auto 0 0; display:grid; grid-template-columns:repeat(5,1fr); padding:6px 6px env(safe-area-inset-bottom); background:#fff; border-top:1px solid var(--line); box-shadow:0 -8px 25px #1e29400d; }.bottom-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#939aaa; background:transparent; border:0; font-size:7px; font-weight:650; }.bottom-nav button span { font-size:17px; }.bottom-nav button.active { color:var(--orange); }.bottom-nav .create-mobile { position:relative; color:var(--orange); }.bottom-nav .create-mobile span { width:42px; height:42px; position:absolute; top:-23px; display:grid; place-items:center; color:#fff; background:var(--orange); border:5px solid var(--bg); border-radius:50%; box-sizing:content-box; box-shadow:0 6px 14px #f36b2145; }.bottom-nav .create-mobile { padding-top:27px; }.modal-backdrop { align-items:end; padding:0; }.document-modal { max-height:96vh; border-radius:22px 22px 0 0; }.document-modal>header { padding:18px; }.doc-form,.created-view { padding:18px; }.form-row { grid-template-columns:1fr; }.modal-actions { display:grid; grid-template-columns:1fr 1.2fr; }.modal-actions button { padding-inline:7px; }.document-preview { padding:20px 18px; }.share-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) { .admin-side{display:none}.admin-workspace{width:100%;margin:0}.admin-top{height:auto;padding:16px}.admin-top>div:last-child button{display:none}.admin-top h1{font-size:15px}.admin-content{padding:20px 14px}.admin-welcome{align-items:flex-start;gap:12px}.admin-welcome p{line-height:1.5}.admin-welcome button{white-space:nowrap}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-grid article{min-height:100px;padding:13px;gap:10px}.metric-icon{width:36px;height:36px}.metric-grid strong{font-size:18px}.admin-panels{grid-template-columns:1fr}.users-panel>header{align-items:flex-start;gap:12px}.users-panel label{display:none}.users-panel td,.users-panel th{white-space:nowrap} }
@media print {
  body * { visibility:hidden !important; }.modal-backdrop,.document-modal,.created-view,#print-document,#print-document * { visibility:visible !important; }.modal-backdrop { position:static; display:block; padding:0; background:#fff; }.document-modal { width:100%; max-height:none; overflow:visible; box-shadow:none; }.document-modal>header,.success-banner,.share-title,.share-grid,.done-button { display:none !important; }.created-view { padding:0; }.document-preview { min-height:100vh; border:0; box-shadow:none; border-radius:0; padding:16mm; }
}

/* PHP + MySQL version */
select{font:inherit}.doc-form select{width:100%;padding:12px 13px;color:var(--ink);background:#fafafd;border:1px solid #e3e6ed;border-radius:10px;outline:none;font-size:12px}.hidden{display:none!important}.modal-open{overflow:hidden}.alert-item{color:inherit;text-decoration:none}.toast{position:fixed;z-index:90;top:82px;right:24px;padding:12px 16px;color:#fff;background:#35a26e;border-radius:11px;box-shadow:0 10px 30px #18203530;font-size:11px;font-weight:700}.toast.error{background:#c95454}.doc-form hr{width:100%;border:0;border-top:1px solid var(--line)}.template-help{display:grid;gap:4px;padding:13px 15px;color:#725023;background:#fff7e9;border:1px solid #f6e1b8;border-radius:11px;font-size:10px;line-height:1.5}.template-help b{color:#d97721}.template-help code{padding:1px 4px;background:#fff;border-radius:4px}.small-modal{max-width:530px}.wide-modal{max-width:850px}.empty{padding:18px 0;color:#9aa1af;font-size:10px}.recent-section{margin-top:31px}.recent-list{display:grid;gap:8px}.recent-list>a{display:flex;align-items:center;gap:12px;padding:13px 15px;color:inherit;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none}.recent-list>a>span{width:35px;height:35px;display:grid;place-items:center;color:var(--orange);background:#fff0e7;border-radius:10px}.recent-list>a>div{display:grid;gap:3px;flex:1}.recent-list b{font-size:10px}.recent-list small{color:#99a0ae;font-size:8px}.recent-list strong{font-size:10px}.recent-list i{color:#abb1bd;font-style:normal}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top right,#fff0e8 0,transparent 33%),#f5f6fa}.auth-card{width:min(430px,100%);padding:35px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 25px 70px #18203518}.auth-card>img{width:185px;display:block;margin:0 auto 20px}.auth-card h1{margin:6px 0 7px;font-size:23px;text-align:center}.auth-card>p{margin:0 0 22px;color:#8b93a3;font-size:11px;line-height:1.6;text-align:center}.auth-kicker{display:block;color:var(--orange);font-size:7px;font-weight:800;letter-spacing:.16em;text-align:center}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;color:#596278;font-size:10px;font-weight:700}.auth-form input{width:100%;padding:12px 13px;border:1px solid #e0e3ea;border-radius:10px;outline:none}.auth-submit{width:100%;padding:13px;border-radius:10px}.auth-foot{display:block;margin-top:18px;color:#a2a8b4;text-align:center;font-size:8px}.form-alert{margin:0 0 15px;padding:11px 13px;border-radius:9px;font-size:10px}.form-alert.success{color:#277d55;background:#e9f8f0}.form-alert.error{color:#a33f3f;background:#ffeded}.install-card{width:min(680px,100%)}
.document-page{min-height:100vh;padding:90px 20px 50px;background:#eef0f5}.document-toolbar{height:64px;position:fixed;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid var(--line)}.document-toolbar a,.document-toolbar button{padding:9px 12px;color:#515b70;background:#fff;border:1px solid #dfe2e9;border-radius:9px;text-decoration:none;font-size:9px;font-weight:700;cursor:pointer}.document-toolbar>div{display:flex;gap:7px}.document-toolbar .wa-button{color:#168c50;border-color:#8ed8b1}.print-sheet{width:210mm;min-height:297mm;margin:auto;padding:18mm;background:#fff;box-shadow:0 15px 50px #18203518}.print-sheet>header{display:flex;align-items:center;gap:14px;padding-bottom:15px;border-bottom:3px solid var(--orange)}.print-logo{width:105px;height:45px;position:relative;overflow:hidden}.print-logo img{width:220px;max-width:none;position:absolute;left:-95px;top:-37px}.issuer{display:grid;gap:3px}.issuer b{font-size:13px}.issuer small{color:#969daa;font-size:8px}.print-sheet>header em{display:grid;gap:4px;margin-left:auto;color:var(--orange);font-size:16px;font-style:normal;font-weight:800;text-align:right}.print-sheet>header em small{color:#7c8494;font-size:9px}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0}.print-meta>div{display:grid;gap:4px}.print-meta small{color:#a0a7b4;font-size:7px;font-weight:800;letter-spacing:.12em}.print-meta b{font-size:11px}.print-meta span{color:#8c94a4;font-size:9px}.print-sheet table{width:100%;border-collapse:collapse;font-size:10px}.print-sheet th{padding:10px;color:#fff;background:#202a42;text-align:left}.print-sheet th:last-child,.print-sheet td:last-child{text-align:right}.print-sheet td{padding:13px 10px;border-bottom:1px solid #e8eaf0}.print-sheet tfoot td{color:var(--orange);font-size:12px;font-weight:800}.contract-content{min-height:500px;color:#30394b;font-family:Georgia,serif;font-size:11px;line-height:1.8;text-align:justify}.document-notes{margin-top:30px;color:#636c7d;font-size:10px;line-height:1.7}.print-sheet footer{margin-top:55px;padding-top:12px;color:#a0a6b2;border-top:1px solid #e6e8ed;font-size:8px;text-align:center}
@media(max-width:760px){.toast{top:70px;right:12px;left:12px}.recent-list strong{display:none}.document-page{padding:70px 0 0}.document-toolbar{height:auto;min-height:60px;padding:10px}.document-toolbar>div{overflow:auto}.document-toolbar a,.document-toolbar button{white-space:nowrap}.print-sheet{width:100%;min-height:calc(100vh - 70px);padding:22px 16px;box-shadow:none}.auth-body{padding:14px}.auth-card{padding:27px 20px}.install-card .form-row{grid-template-columns:1fr}}
@media print{.document-page{padding:0;background:#fff}.document-toolbar{display:none!important}.print-sheet{width:100%;min-height:100vh;margin:0;padding:15mm;box-shadow:none}.print-sheet,.print-sheet *{visibility:visible!important}}
.admin-kicker,.admin-page-title small,.admin-modal>div>small{color:var(--orange);font-size:7px;font-weight:850;letter-spacing:.16em}.admin-new,.row-manage{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;color:#fff;background:linear-gradient(135deg,#ff8548,var(--orange));border:0;border-radius:11px;box-shadow:0 9px 20px #f36b2135;text-decoration:none;font-size:9px;font-weight:800;cursor:pointer;transition:.2s}.admin-new:hover,.row-manage:hover{transform:translateY(-2px);box-shadow:0 13px 25px #f36b2145}.admin-new.ghost,.row-manage{color:var(--orange);background:#fff;border:1px solid #f36b2145;box-shadow:none}.tap{transform:scale(.96)!important}.admin-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:14px 0}.admin-shortcuts a{display:flex;align-items:center;gap:13px;padding:18px;color:#273148;background:#fff;border:1px solid #e7e9ef;border-radius:15px;text-decoration:none;box-shadow:0 7px 22px #18203508;transition:.2s}.admin-shortcuts a:hover{transform:translateY(-3px);border-color:#f36b2150}.admin-shortcuts span{width:40px;height:40px;display:grid;place-items:center;color:#fff;background:#1c263d;border-radius:12px}.admin-shortcuts b{display:grid;gap:3px;flex:1;font-size:10px}.admin-shortcuts small{color:#929aaa;font-size:8px;font-weight:500}.admin-shortcuts i{color:var(--orange);font-style:normal}.admin-page-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.admin-page-title h2{margin:5px 0 0;font-size:24px}.admin-flash{margin-bottom:17px;padding:13px 16px;border-radius:12px;font-size:10px;font-weight:700}.admin-flash.success{color:#287b55;background:#e9f8f0}.admin-flash.error{color:#aa4545;background:#ffeded}.admin-search{display:flex;gap:8px}.admin-search button{padding:8px 12px;color:#fff;background:#202a42;border:0;border-radius:8px;cursor:pointer}.status.active,.status.accepted,.status.sent{color:#34996a;background:#eaf8f0}.status.trial,.status.draft{color:#d78e20;background:#fff4df}.status.suspended,.status.cancelled{color:#c85c5c;background:#ffeded}.admin-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-plan-grid article{display:grid;gap:8px;padding:23px;background:linear-gradient(145deg,#fff,#fafbfe);border:1px solid #e5e8ef;border-radius:17px;box-shadow:0 8px 26px #17203609}.admin-plan-grid article>small{color:var(--orange);font-size:7px;font-weight:850;letter-spacing:.15em}.admin-plan-grid h3{margin:0;font-size:17px}.admin-plan-grid strong{font-size:31px}.admin-plan-grid p{margin:-7px 0 8px;color:#929aaa;font-size:8px}.admin-plan-grid span{color:#657087;font-size:9px}.admin-plan-grid a{margin-top:10px;color:var(--orange);font-size:9px;font-weight:800;text-decoration:none}.admin-form-card{max-width:600px;padding:25px;background:#fff;border:1px solid #e5e8ef;border-radius:17px}.admin-form-card form,.admin-modal form{display:grid;gap:14px}.admin-form-card label,.admin-modal label{display:grid;gap:7px;color:#596378;font-size:9px;font-weight:750}.admin-form-card input,.admin-modal input,.admin-modal select{padding:12px;background:#fafbfc;border:1px solid #dfe3eb;border-radius:10px;outline:none}.admin-modal{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:20px;background:#11182b99;backdrop-filter:blur(7px)}.admin-modal>div{width:min(480px,100%);position:relative;padding:28px;background:#fff;border-radius:20px;box-shadow:0 30px 80px #10172d55;animation:pop .25s ease}.admin-modal h2{margin:7px 0 20px}.modal-x{width:35px;height:35px;position:absolute;right:18px;top:18px;display:grid;place-items:center;color:#768095;background:#f1f3f6;border-radius:50%;text-decoration:none;font-size:20px}@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}}@media(max-width:900px){.admin-shortcuts,.admin-plan-grid{grid-template-columns:1fr}}@media(max-width:760px){.admin-shortcuts{grid-template-columns:1fr}.admin-page-title{align-items:flex-start;gap:12px}.admin-modal>div{padding:24px 20px}.admin-search label{display:flex}.admin-search{width:100%}}
