:root{color-scheme:dark;--base:#242426;--canvas:radial-gradient(ellipse at 80% 0,rgba(255,255,255,.065),transparent 48%),linear-gradient(145deg,#2c2c2e 0%,#242426 48%,#1c1c1e 100%);--glass:rgba(55,55,58,.64);--line:rgba(255,255,255,.1);--text:#f0f2fa;--muted:#99a2b7;--accent:#b5a1ff;--cyan:#87d5e7;--radius:22px}
*{box-sizing:border-box}html{background:var(--base)}body{font-family:Inter,'Segoe UI',sans-serif;background:var(--canvas)!important;color:var(--text);letter-spacing:-.015em;isolation:isolate}body.bg-gray-50,body.app-shell{background:var(--canvas)!important}
body::before,body::after{content:'';position:fixed;pointer-events:none;z-index:-1;filter:blur(65px);border-radius:50%;opacity:.38}body::before{width:420px;height:420px;right:-90px;top:-190px;background:radial-gradient(circle,#737377,transparent 70%)}body::after{width:420px;height:420px;left:8%;bottom:-250px;background:radial-gradient(circle,#535357,transparent 70%)}
::selection{background:#8675c7;color:#fff}a,button,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a,input,select,textarea{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:0!important;border-color:rgba(181,161,255,.6)!important;box-shadow:0 0 0 3px rgba(157,124,239,.12)!important}input::placeholder,textarea::placeholder{color:#6f788e!important}input,select,textarea{color:var(--text)!important;background:rgba(28,28,30,.55)!important;border-color:rgba(255,255,255,.13)!important;border-radius:12px!important}input[type=checkbox],input[type=radio]{accent-color:#b19aff}select option{background:#2c2c2e;color:#f0f2fa}
main{padding:44px 40px!important;max-width:1800px;min-height:100vh}main>div:first-child{gap:20px;flex-wrap:wrap}h1{font-size:clamp(26px,2.35vw,34px)!important;line-height:1.15!important;letter-spacing:-.045em;font-weight:650!important}h2,h3{letter-spacing:-.025em}main h1:before{content:'DENTTO / WORKSPACE';display:block;font-size:10px;letter-spacing:.22em;color:#8c96af;margin-bottom:13px;font-weight:600}
.bg-white,.bg-white\/95,.bg-white\/90{background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 40%),var(--glass)!important;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);border-color:var(--line)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 32px rgba(0,0,0,.13)!important}
.rounded-xl{border-radius:16px}.rounded-2xl{border-radius:var(--radius)}.bg-gray-50,.bg-gray-100{background:rgba(255,255,255,.025)!important}.bg-gray-200{background:rgba(255,255,255,.075)!important}.border-gray-50,.border-gray-100,.border-gray-200,.border-gray-300,.border-gray-400{border-color:var(--line)!important}.divide-gray-50>*+*,.divide-gray-100>*+*{border-color:var(--line)!important}.shadow-sm,.shadow-lg,.shadow-2xl{box-shadow:0 12px 36px rgba(0,0,0,.2)!important}
.text-gray-800,.text-gray-900{color:#edf0f9!important}.text-gray-700{color:#d3d8e8!important}.text-gray-600{color:#b2bace!important}.text-gray-500,.text-gray-400{color:#98a3bb!important}.text-gray-300{color:#64708a!important}.text-violet-600,.text-violet-700,.text-violet-800{color:#c4b5ff!important}.text-violet-200{color:#ddd4ff!important}.text-violet-300,.text-violet-400{color:#aaa0cf!important}.text-indigo-600,.text-blue-600{color:#9faeff!important}.text-pink-500,.text-pink-600,.text-pink-700{color:#edaad1!important}.text-red-400,.text-red-500,.text-red-600,.text-red-700{color:#f49caa!important}.text-green-500,.text-green-600,.text-green-700,.text-emerald-600{color:#8ad4ba!important}.text-yellow-700,.text-amber-500,.text-amber-600,.text-amber-700,.text-orange-600{color:#e8c57f!important}
.bg-violet-700,.bg-violet-800{background:linear-gradient(135deg,rgba(166,136,242,.32),rgba(111,90,177,.28))!important;border:1px solid rgba(181,161,255,.25);color:#f3edff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 18px rgba(79,49,142,.15)!important}.bg-violet-50,.bg-violet-100,.bg-violet-50\/70,.bg-indigo-100,.bg-blue-100{background:rgba(144,119,210,.13)!important}.bg-pink-50,.bg-pink-100{background:rgba(202,111,169,.1)!important}.bg-green-50,.bg-green-100,.bg-emerald-50{background:rgba(70,160,130,.1)!important}.bg-red-50,.bg-red-100,.bg-red-50\/40{background:rgba(182,76,102,.1)!important}.bg-amber-50,.bg-amber-100,.bg-yellow-50,.bg-orange-50{background:rgba(184,147,72,.1)!important}.bg-red-600,.bg-green-600,.bg-gray-800{border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important}.hover\:bg-gray-50:hover,.hover\:bg-gray-100:hover{background:rgba(255,255,255,.045)!important}.hover\:bg-violet-50:hover{background:rgba(150,122,219,.1)!important}.hover\:shadow-md:hover{transform:translateY(-2px);border-color:rgba(188,175,235,.22)!important}
#appSidebar{position:fixed;inset:18px auto 18px 18px;width:246px;height:calc(100vh - 36px);background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(44,44,46,.4)),rgba(36,36,38,.78)!important;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);border:1px solid rgba(255,255,255,.11);border-radius:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 20px 65px rgba(0,0,0,.22)!important;overflow:hidden}
#appSidebar>div:first-child{padding:28px 25px 24px;border-bottom:1px solid var(--line)!important}#appSidebar>div:first-child i{font-size:21px;color:#c8b7ff}#appSidebar>div:first-child span{font-size:20px;letter-spacing:-.055em}#appSidebar nav{padding:18px 13px;display:flex;flex-direction:column;gap:6px}#appSidebar nav a{padding:13px 14px;border-radius:12px;color:#a9b2c8;font-size:13px;font-weight:500}#appSidebar nav a.bg-violet-700{color:#eee7ff;border-color:rgba(181,161,255,.2);background:linear-gradient(110deg,rgba(147,117,219,.23),rgba(97,80,140,.08))!important}#appSidebar nav a:hover{background:rgba(255,255,255,.055)!important;color:#fff}#appSidebar>div:last-child{border-color:var(--line)!important;padding:21px}.sidebar-spacer{width:282px!important}.app-shell #sidebar-container{flex-shrink:0}
table{border-collapse:collapse}thead, tfoot{background:rgba(255,255,255,.025)!important}th{font-size:10px!important;letter-spacing:.09em!important;font-weight:600!important;padding-top:16px!important;padding-bottom:16px!important;color:#8c98b3!important}td{border-color:var(--line);font-size:13px}tbody tr:hover{background:rgba(255,255,255,.025)!important}.bg-white:has(>table){overflow-x:auto!important}.bg-black\/40,.bg-black\/50{background:rgba(3,5,12,.62)!important;backdrop-filter:blur(9px)}.fixed.inset-0>div{max-height:90dvh;overflow-y:auto;border:1px solid rgba(255,255,255,.15)}#notifPanel{left:282px!important;background:rgba(44,44,46,.95)!important;backdrop-filter:blur(32px);border-color:var(--line)!important}
.period-note{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;background:rgba(167,146,224,.045);border:1px solid rgba(180,160,230,.11);color:#aaa5c1;font-size:12px}.period-note i{color:#c4b5ff}.period-note button{margin-left:auto;border:1px solid var(--line);border-radius:9px;padding:7px 12px;color:#ded2ff;background:rgba(145,117,200,.1)}
.mobile-nav-button{display:none}.nav-scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(5px);z-index:19}.brand-eyebrow{font-size:10px;letter-spacing:.25em;color:#aaa0c7;margin-bottom:18px}body[data-page=login]{background:var(--canvas)!important}body[data-page=login]>div{max-width:460px;padding:46px 44px;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:linear-gradient(140deg,rgba(255,255,255,.055),rgba(255,255,255,.01)),rgba(55,55,58,.58)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 30px 90px rgba(0,0,0,.3)!important}body[data-page=login] .text-center{margin-bottom:32px}body[data-page=login] h1{font-size:31px!important;line-height:1.18!important}body[data-page=login] .w-16{border:1px solid rgba(190,170,230,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}body[data-page=login] #btn{padding:14px;border-radius:13px}
@media(max-width:1100px){main{padding:36px 24px!important}.sidebar-spacer{width:268px!important}#appSidebar{width:232px}.grid-cols-3{gap:12px}.period-note{flex-wrap:wrap}.period-note button{margin-left:0}}
@media(max-width:760px){#appSidebar{transform:translateX(-290px);transition:transform .25s;inset:12px auto 12px 12px;height:calc(100dvh - 24px);width:246px}.nav-open #appSidebar{transform:translateX(0)}.sidebar-spacer{display:none!important}.mobile-nav-button{display:flex;align-items:center;justify-content:center;position:fixed;top:15px;left:16px;width:40px;height:40px;border:1px solid var(--line);background:rgba(44,44,46,.88);border-radius:12px;backdrop-filter:blur(16px);z-index:25;color:#d1c5ef}.app-shell main{padding:82px 18px 28px!important;width:100%}main>div:first-child{align-items:flex-start}.grid.grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}.grid.grid-cols-3:has(>.text-center),#clienteStats.grid,#modalStats.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}#board{margin-right:-18px}.p-8{padding:20px}.period-note{font-size:11px}#notifPanel{left:14px!important;right:14px;width:auto!important}h1{font-size:28px!important}.fixed.inset-0{padding:14px}.fixed.inset-0>div{width:100%}body[data-page=login]>div{padding:32px 25px;margin:20px}body[data-page=login] h1{font-size:28px!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.text-blue-700,.text-blue-800,.text-indigo-700,.text-indigo-800{color:#b4c2ff!important}.bg-orange-500,.bg-red-600{background:linear-gradient(135deg,rgba(169,85,112,.5),rgba(83,43,61,.7))!important}.bg-green-600{background:linear-gradient(135deg,rgba(63,131,112,.55),rgba(33,73,69,.8))!important}.bg-gray-600{background:rgba(92,101,125,.55)!important}.bg-purple-600,.bg-indigo-600,.bg-violet-600{background:linear-gradient(135deg,rgba(118,94,168,.6),rgba(63,51,91,.8))!important}
@media(max-width:760px){.grid.grid-cols-3.text-center{grid-template-columns:repeat(3,minmax(0,1fr))}}
