:root{--bg:#F5FAF8;--paper:#FFFFFF;--ink:#132420;--ink-soft:#4B5D57;--ink-faint:#8A9C96;--line:#DEEAE6;--teal:#0F6B5C;--teal-dark:#0A4F44;--teal-light:#17A98F;--teal-tint:#E5F5F1;--accent:#2563EB;--accent-tint:#EFF6FF;--amber:#B45309;--amber-tint:#FFFBEB;--green:#15803D;--green-tint:#F0FDF4;--red:#B91C1C;--red-tint:#FEF2F2;--radius:12px;--shadow:0 1px 2px rgba(15,107,92,.06),0 3px 10px rgba(15,107,92,.07);--gradient-brand:linear-gradient(135deg,var(--teal) 0%,var(--teal-light) 100%)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}body,h1,h2,h3{font-family:Inter,sans-serif}h1,h2,h3{font-weight:700;letter-spacing:-.02em;margin:0}button{font-family:inherit;cursor:pointer}a{color:var(--accent)}.btn-primary{background:var(--gradient-brand);color:#fff;border:none;border-radius:10px;padding:14px 22px;font-size:16px;font-weight:600;min-height:48px;display:inline-flex;align-items:center;gap:8px;transition:filter .12s,box-shadow .12s;box-shadow:0 2px 10px rgba(15,107,92,.25)}.btn-primary:hover{filter:brightness(.94)}.btn-primary[disabled]{opacity:.4;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:12px 18px;font-size:15px;font-weight:600;min-height:44px;transition:border-color .12s,background .12s}.btn-secondary:hover{border-color:#CBD1DA;background:var(--teal-tint)}.btn-link{background:rgba(255,255,255,.08);color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:12px 18px;font-size:15px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:8px}.btn-link:hover{background:var(--teal-tint)}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.field input{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.field .help{font-size:13px;color:var(--ink-faint);margin-top:4px}.field textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink);resize:vertical;min-height:64px}.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.patient-tab-note{font-size:13px;color:var(--ink-faint);margin-bottom:14px}.auth-wrap{max-width:420px;margin:0 auto;padding:60px 20px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:var(--shadow),inset 0 3px 0 var(--teal)}.auth-card h2{font-size:23px;margin-bottom:6px}.auth-card .sub{color:var(--ink-soft);margin-bottom:22px}.auth-switch{text-align:center;margin-top:18px;font-size:15px;color:var(--ink-soft)}.error-box{background:var(--red-tint);color:var(--red);border-radius:8px;padding:12px 14px;margin-bottom:16px}.admin-banner,.error-box{font-size:14px;font-weight:600}.admin-banner{background:var(--amber-tint);color:#7A4A16;padding:12px 24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:1px solid #f3e0b8}.admin-banner button{margin-left:auto}.payments-summary{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:22px;box-shadow:var(--shadow)}.payments-totals{display:flex;gap:24px;margin-bottom:14px;flex-wrap:wrap}.payment-stat-label{font-size:12px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.payment-stat-value{font-size:27px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.brand-mark{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;border:none;font-weight:800;font-size:19px;letter-spacing:-.03em;margin-right:2px;padding:0}.brand-mark:hover{filter:brightness(1.15)}.topbar{background:#fff;color:var(--ink);padding:18px 24px;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line);box-shadow:inset 0 3px 0 var(--teal)}.topbar,.topbar .who{gap:12px}.avatar,.topbar,.topbar .who{display:flex;align-items:center}.avatar{width:44px;height:44px;border-radius:50%;background:var(--gradient-brand);color:#fff;justify-content:center;font-weight:700;font-size:16px;flex:none;overflow:hidden}.avatar img,.p-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.topbar h1{font-size:19px;color:var(--ink)}.topbar .sub{font-size:14px;color:var(--ink-soft);margin-top:2px}.topbar .btn-link{color:var(--ink)}.app-shell{max-width:1100px;margin:0 auto}.body-wrap,nav.mainnav{display:flex}nav.mainnav{width:210px;flex:none;background:var(--paper);border-right:1px solid var(--line);padding:20px 12px;flex-direction:column;gap:4px;min-height:calc(100vh - 80px)}.navbtn{display:flex;align-items:center;gap:12px;padding:14px;border-radius:10px;border:none;background:transparent;color:var(--ink-soft);font-size:16px;font-weight:600;text-align:left;width:100%;min-height:52px;transition:background .12s,color .12s}.navbtn .ic{font-size:20px;width:26px;text-align:center}.navbtn:hover{background:var(--teal-tint);color:var(--ink)}.navbtn.active{background:var(--gradient-brand);color:#fff;box-shadow:0 2px 10px rgba(15,107,92,.22)}main.dash-main{flex:1 1;padding:28px 32px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.section-head h2{font-size:24px}.day-chips{display:flex;gap:10px;margin-bottom:22px;overflow-x:auto;padding-bottom:4px}.chip{flex:none;background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:12px 18px;text-align:center;min-width:78px;transition:border-color .12s}.chip .d{font-size:12px;color:var(--ink-faint);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.chip .n{font-size:19px;font-weight:700;margin-top:2px}.chip.active{border-color:var(--teal);background:var(--gradient-brand);color:#fff}.chip.active .d{color:#D7F0EA}.appt-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:18px;flex-wrap:wrap}.appt-time{font-size:19px;font-weight:700;width:78px;flex:none;color:var(--ink)}.appt-info{flex:1 1;min-width:160px}.appt-info .name{font-size:17px;font-weight:600}.appt-info .meta{font-size:14px;color:var(--ink-soft);margin-top:2px}.badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.badge.CONFIRMADA{background:var(--green-tint);color:var(--green)}.badge.PENDIENTE{background:var(--amber-tint);color:var(--amber)}.badge.CANCELADA{background:var(--red-tint);color:var(--red)}.badge.NO_ASISTIO{background:#F3E8D9;color:#8A5A1E}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-bottom:22px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center;box-shadow:var(--shadow)}.stat-value{font-size:25px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.stat-label{font-size:12px;color:var(--ink-soft);margin-top:2px}.blocked-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);gap:10px}.blocked-row:first-of-type{border-top:none}.pay-toggle{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:20px;padding:8px 14px;font-size:14px;font-weight:600;background:#fff}.pay-toggle.pagado{border-color:#BBF0CE;color:var(--green);background:var(--green-tint)}.pay-toggle.no-pagado{border-color:#F5C2C2;color:var(--red);background:var(--red-tint)}.pay-toggle.pendiente{border-color:#F3E0B8;color:var(--amber);background:var(--amber-tint)}.appt-actions{display:flex;gap:8px;flex-wrap:wrap;width:100%;margin-top:6px}.mini-btn{background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:9px 14px;font-size:14px;font-weight:600;min-height:40px}.mini-btn:hover{background:var(--teal-tint)}.mini-btn.danger{color:var(--red);border-color:#F3C7C7}.mini-btn.danger:hover{background:var(--red-tint)}.empty{text-align:center;padding:60px 20px;color:var(--ink-faint)}.empty .ic{font-size:38px;margin-bottom:12px}.search-box{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:12px 18px;margin-bottom:20px}.search-box input{border:none;outline:none;font-size:17px;flex:1 1;font-family:inherit;background:transparent}.patient-row{gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;box-shadow:var(--shadow)}.p-avatar,.patient-row{display:flex;align-items:center}.p-avatar{width:44px;height:44px;border-radius:50%;background:var(--teal-tint);color:var(--ink);justify-content:center;font-weight:700;flex:none}.p-info{flex:1 1}.p-info .n{font-size:16px;font-weight:600}.p-info .m{font-size:14px;color:var(--ink-soft)}.config-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px;box-shadow:var(--shadow);max-width:520px}.config-card h3{font-size:17px;margin-bottom:10px}.link-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.link-box{flex:1 1;min-width:220px;background:var(--bg);border:1px dashed var(--line);border-radius:8px;padding:12px 14px;font-family:ui-monospace,monospace;font-size:14px;color:var(--ink-soft);word-break:break-all}.switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.switch-row:first-child{border-top:none}.switch{width:44px;height:26px;border-radius:20px;background:var(--line);position:relative;border:none;flex:none}.switch.on{background:var(--teal)}.switch .dot{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s}.switch.on .dot{left:21px}.field select{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}.field select:focus{outline:none;border-color:var(--accent)}.hours-row{padding:12px 0;border-top:1px solid var(--line)}.hours-row:first-of-type{border-top:none}.hours-day-line{display:flex;align-items:center;gap:14px}.hours-day{width:90px;flex:none;font-weight:600;font-size:15px}.hours-blocks{display:flex;flex-direction:column;gap:8px;margin-top:10px;margin-left:104px}.hours-times{display:flex;align-items:center;gap:8px}.hours-times input{border:1.5px solid var(--line);border-radius:8px;padding:8px 10px;font-size:15px;font-family:inherit}.hours-closed{color:var(--ink-faint);font-size:14px}.modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{background:#fff;border-radius:14px;padding:26px;width:100%;max-width:420px;box-shadow:0 24px 60px rgba(17,24,39,.25)}.modal h3{font-size:19px;margin-bottom:16px}.modal-actions{display:flex;gap:10px;margin-top:8px}.modal-actions button{flex:1 1}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--teal-dark);color:#fff;padding:14px 22px;border-radius:10px;font-size:15px;font-weight:600;box-shadow:0 10px 30px rgba(10,79,68,.35);z-index:200}.public-wrap{max-width:480px;margin:30px auto;padding:0 18px}.doc-card{background:#fff;border-radius:16px;border:1px solid var(--line);padding:28px;text-align:center;box-shadow:var(--shadow);box-shadow:var(--shadow),inset 0 3px 0 var(--teal)}.doc-card .p-avatar{width:72px;height:72px;margin:0 auto 14px;font-size:22px}.doc-card h2{font-size:21px}.doc-card .spec{color:var(--ink-soft);margin-top:4px}.doc-card .loc{color:var(--ink-faint);font-size:14px;margin-top:8px}.step-dots{display:flex;gap:6px;justify-content:center;margin:20px 0}.step-dots span{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block}.step-dots span.on{background:var(--teal);width:22px;border-radius:8px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:16px 0 22px}.slot{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:12px 6px;font-weight:600;font-size:15px;min-height:48px}.slot:hover{border-color:var(--ink)}.slot.chosen{border-color:var(--teal);background:var(--gradient-brand);color:#fff}.back-link{background:none;border:none;color:var(--ink-soft);font-size:15px;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:6px}.center-note{text-align:center;color:var(--ink-faint);font-size:14px;margin-top:30px}.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.cal-nav-modes{display:flex;gap:4px;background:var(--teal-tint);border-radius:10px;padding:4px}.cal-mode-btn{background:none;border:none;padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink-soft)}.cal-mode-btn.active{background:#fff;color:var(--ink);box-shadow:var(--shadow)}.cal-nav-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-nav-controls select{border:1.5px solid var(--line);border-radius:8px;padding:9px 10px;font-size:14px;font-family:inherit;background:#fff}.cal-month{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;margin-bottom:22px}.cal-month-headrow{display:grid;grid-template-columns:repeat(7,1fr);background:var(--teal-tint)}.cal-month-headcell{padding:8px;text-align:center;font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase}.cal-month-row{display:grid;grid-template-columns:repeat(7,1fr)}.cal-month-cell{border:none;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff;min-height:76px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:6px}.cal-month-cell:hover{background:var(--teal-tint)}.cal-month-cell.dim{color:var(--ink-faint);background:#FBFBFC}.cal-month-cell.today .cal-daynum{background:var(--gradient-brand);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.cal-daynum{font-size:14px;font-weight:600}.cal-dots{display:flex;flex-wrap:wrap;gap:6px}.cal-dot-group{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--ink-soft)}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;margin-bottom:22px}.cal-week-col{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;min-height:120px}.cal-week-col:hover{border-color:var(--ink)}.cal-week-col.today{border-color:var(--teal);background:var(--teal-tint)}.cal-week-head{text-align:center;margin-bottom:8px}.cal-week-dayname{font-size:11px;color:var(--ink-faint);font-weight:700;text-transform:uppercase}.cal-week-daynum{font-size:17px;font-weight:700}.cal-week-appt{font-size:12px;color:var(--ink-soft);margin-bottom:4px;display:flex;align-items:center;gap:5px}.cal-week-empty{font-size:12px;color:var(--ink-faint);text-align:center}.cal-month-cell.has-urgent{box-shadow:inset 0 0 0 1.5px #F5C2C2}.urgent-flag{color:#B91C1C;margin-left:4px;font-size:12px;vertical-align:middle}.cal-grid{display:flex;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:22px}.cal-grid-gutter{flex:none;width:56px;border-right:1px solid var(--line);background:var(--teal-tint)}.cal-grid-hourlabel{font-size:11px;color:var(--ink-soft);font-weight:600;padding:4px 6px;box-sizing:border-box;border-top:1px solid var(--line)}.cal-grid-hourlabel:first-child{border-top:none}.cal-grid-day .cal-grid-col{flex:1 1}.cal-grid-col{position:relative}.cal-grid-slot{border-top:1px solid var(--line);box-sizing:border-box;transition:background .1s}.cal-grid-slot:first-child{border-top:none}.cal-grid-slot.drag-over{background:var(--accent-tint)}.cal-grid-block{position:absolute;left:4px;right:4px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:6px;padding:3px 8px;font-size:12px;overflow:hidden;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow);display:flex;align-items:center;gap:6px}.cal-grid-block:active{cursor:-webkit-grabbing;cursor:grabbing}.cal-grid-block.locked{cursor:default;opacity:.55}.cal-grid-block.urgent{box-shadow:0 0 0 1.5px #F5C2C2,var(--shadow)}.cal-grid-block-time{font-weight:700;flex:none}.cal-grid-block-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-grid-block.selected{outline:2.5px solid var(--accent);box-shadow:0 0 0 4px var(--accent-tint);z-index:2}.cal-grid-slot.tappable{cursor:pointer}.cal-grid-hint,.cal-grid-slot.tappable:active{background:var(--accent-tint)}.cal-grid-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--accent);border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;margin-bottom:14px}.cal-grid-hint .mini-btn{background:#fff}.cal-grid-week{align-items:stretch}.cal-grid-week-cols{flex:1 1;display:flex;flex-direction:column}.cal-grid-weekhead-spacer{height:44px;border-top:none}.cal-grid-weekhead-row{display:grid;grid-template-columns:repeat(7,1fr);height:44px;border-bottom:1px solid var(--line);background:var(--teal-tint)}.cal-grid-weekhead{border:none;background:none;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center}.cal-grid-weekhead:last-child{border-right:none}.cal-grid-weekhead.today{background:#fff}.cal-grid-week-body{flex:1 1;display:grid;grid-template-columns:repeat(7,1fr)}.cal-grid-week-body .cal-grid-col{border-right:1px solid var(--line)}.cal-grid-week-body .cal-grid-col:last-child{border-right:none}.cal-grid-week-body .cal-grid-block-name{display:none}.badge-pay{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.badge-pay.PENDIENTE_PAGO{background:var(--amber-tint);color:var(--amber)}.badge-pay.PAGADA{background:var(--green-tint);color:var(--green)}.badge-pay.NO_PAGADA{background:var(--red-tint);color:var(--red)}.urgent-toggle{border:1.5px solid #f5c2c2;color:var(--red);background:#fff}.urgent-toggle.on{background:var(--red-tint)}.appt-card.urgent{border-left:4px solid var(--red)}.waitlist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line);flex-wrap:wrap}.waitlist-row:first-of-type{border-top:none}.waitlist-status{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px}.waitlist-status.ESPERANDO{background:var(--amber-tint);color:var(--amber)}.waitlist-status.NOTIFICADO{background:var(--accent-tint);color:var(--accent)}.portal-tabbar{display:flex;gap:4px;background:var(--teal-tint);border-radius:10px;padding:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.portal-tab-btn{flex:none;display:flex;align-items:center;gap:6px;background:none;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink-soft);white-space:nowrap;min-height:40px}.portal-tab-btn.active{background:#fff;color:var(--ink);box-shadow:var(--shadow)}.portal-tab-btn .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}.notif-dot{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(15,107,92,.18);z-index:150;max-height:360px;overflow-y:auto}.notif-panel-head{font-weight:700;border-bottom:1px solid var(--line)}.notif-item,.notif-panel-head{padding:12px 16px;font-size:14px;color:var(--ink)}.notif-item{border-top:1px solid var(--line)}.notif-item:first-of-type{border-top:none}.notif-item .meta{font-size:12px;color:var(--ink-faint);margin-top:3px}.hide-mobile{display:inline}@media (max-width:720px){.cal-month-cell{min-height:56px;padding:5px}.cal-grid-gutter{width:44px}.cal-grid-block-name{display:none}.body-wrap{flex-direction:column}nav.mainnav{width:100%;flex-direction:row;order:2;border-right:none;border-top:1px solid var(--line);padding:6px 4px;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;position:-webkit-sticky;position:sticky;bottom:0;z-index:60;min-height:auto;gap:2px}.navbtn{flex:none;width:auto;min-width:66px;flex-direction:column;gap:3px;font-size:11px;padding:8px 6px;min-height:56px}.navbtn .ic{font-size:20px}main.dash-main{order:1;padding:18px}.appt-card{flex-direction:column;align-items:flex-start}.topbar{padding:12px 16px;gap:10px}.topbar h1{font-size:17px}.topbar .avatar{width:38px;height:38px;font-size:14px}.topbar .btn-link{padding:9px 12px;font-size:13px;min-height:40px}.hide-mobile{display:none}.toast{bottom:80px;max-width:calc(100vw - 32px);text-align:center}.public-wrap{margin:16px auto;padding:0 14px}.doc-card{padding:20px}.portal-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);border-radius:0;padding:6px 2px calc(6px + env(safe-area-inset-bottom));justify-content:space-between;gap:1px}.portal-tab-btn{flex:1 1;min-width:0;flex-direction:column;gap:2px;font-size:10px;line-height:1.15;padding:8px 1px;min-height:56px;border-radius:10px;white-space:normal;word-break:break-word;text-align:center}.portal-tab-btn .ic{font-size:19px}.portal-tab-btn span:not(.ic){display:block;max-width:100%;overflow:hidden}main.dash-main.has-portal-tabbar{padding-bottom:92px}}@media (min-width:721px) and (max-width:900px){nav.mainnav{width:180px}main.dash-main{padding:24px 22px}.stats-row{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}}@media (max-width:360px){.slot-grid{grid-template-columns:repeat(2,1fr)}}