.landing{align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 50% at 15% 0%,rgba(242,100,59,.1),transparent 60%),var(--bg-page)}.landing-inner{position:relative;padding-top:10vh;padding-bottom:10vh}.landing-mark{color:var(--accent);margin-bottom:18px}.landing-tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}.landing-tile{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 22px;box-shadow:var(--shadow-card);transition:transform .15s ease,border-color .15s ease}.landing-tile:hover{transform:translateY(-3px);border-color:var(--accent)}.landing-tile h2{color:var(--text-primary);font-size:1.5rem;margin:2px 0}.landing-tile p{font-size:.88rem}.landing-tile-admin .eyebrow{color:var(--text-tertiary)}@media (max-width: 640px){.landing-tiles{grid-template-columns:1fr}}.app-shell{display:flex;min-height:100vh;gap:0}.rail{width:var(--rail-w);flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0;position:sticky;top:0;height:100vh}.rail-nav{display:flex;flex-direction:column;gap:8px;margin-top:8px}.rail-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);text-decoration:none;transition:background .15s ease,color .15s ease}.rail-icon:hover{background:var(--surface);color:var(--text-primary)}.rail-icon.active{background:var(--text-primary);color:var(--surface);box-shadow:var(--shadow-card)}.rail>.rail-icon:last-child{margin-top:auto}.app-main{flex:1;min-width:0}.topbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:16px 16px 0;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;box-shadow:var(--shadow-card);position:sticky;top:16px;z-index:10}@media (max-width: 640px){.topbar{justify-content:center}.pill-nav{order:3;width:100%;justify-content:center}}.topbar-brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.brand-word{font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:-.02em}.pill-nav{display:flex;align-items:center;gap:2px;background:var(--surface-sunken);border-radius:var(--radius-pill);padding:4px;overflow-x:auto}.pill-nav-item{text-decoration:none;font-size:.85rem;font-weight:600;color:var(--text-secondary);padding:9px 16px;border-radius:var(--radius-pill);white-space:nowrap;transition:background .15s ease,color .15s ease}.pill-nav-item.active{background:var(--text-primary);color:var(--surface)}.topbar-account{display:flex;align-items:center;gap:8px;flex-shrink:0;cursor:default}.avatar-badge{width:34px;height:34px;border-radius:50%;background:var(--accent-ink);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.account-text{display:none;flex-direction:column;line-height:1.2}.account-name{font-size:.82rem;font-weight:600}.account-role{font-size:.72rem;color:var(--text-tertiary)}@media (min-width: 720px){.account-text{display:flex}}@media (max-width: 900px){.pill-nav-item{padding:9px 12px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:50}.modal-panel{width:100%;max-width:460px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-pop)}@media (min-width: 640px){.modal-overlay{align-items:center;padding:20px}.modal-panel{border-radius:var(--radius-lg)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:10px;min-width:0}.stat-card.accent{background:var(--accent);border-color:var(--accent)}.stat-card-top{display:flex;align-items:center;justify-content:space-between}.stat-card-icon{width:30px;height:30px;border-radius:50%;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.stat-card.accent .stat-card-icon{background:#fff3;color:#fff}.stat-card-value{font-family:var(--font-display);font-weight:800;font-size:1.9rem;letter-spacing:-.02em;color:var(--text-primary)}.stat-card.accent .stat-card-value{color:#fff}.stat-card-hint{font-size:.78rem;color:var(--text-tertiary);font-weight:500}.stat-card.accent .stat-card-hint{color:#ffffffbf}.mini-bar-chart{display:flex;align-items:flex-end;gap:14px;height:160px;padding-top:8px}.mini-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.mini-bar-value{font-size:.72rem;font-weight:700;color:var(--text-secondary);height:16px}.mini-bar-track{flex:1;width:100%;max-width:34px;display:flex;align-items:flex-end;border-bottom:1px solid var(--border)}.mini-bar-fill{width:100%;min-height:4px;background:var(--accent);border-radius:4px 4px 0 0;transition:height .3s ease}.mini-bar-label{margin-top:8px;font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.item-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.item-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:12px 10px 14px;cursor:pointer;transition:border-color .15s ease,transform .08s ease,background .15s ease}.item-tile:active{transform:scale(.97)}.item-tile.active{border-color:var(--accent);background:var(--accent-ink)}.item-tile-check{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;background:transparent}.item-tile.active .item-tile-check{background:var(--accent);border-color:var(--accent)}.item-tile-thumb{width:56px;height:56px;border-radius:var(--radius-sm);background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-tertiary)}.item-tile-thumb img{width:100%;height:100%;object-fit:cover}.item-tile-nome{font-size:.82rem;font-weight:500;text-align:center;color:var(--text-primary);line-height:1.25}.pinpad-dots{display:flex;gap:14px;justify-content:center;padding:8px 0 4px}.pinpad-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong);transition:background .15s ease,border-color .15s ease,transform .15s ease}.pinpad-dot.filled{background:var(--accent);border-color:var(--accent);transform:scale(1.15)}.pinpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pinpad-key{min-height:58px;border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-primary);font-weight:700;font-size:1.2rem;cursor:pointer;transition:transform .08s ease,background .15s ease}.pinpad-key:hover:not(:disabled){background:var(--surface-alt);border-color:var(--border-strong)}.pinpad-key:active:not(:disabled){transform:scale(.94);background:var(--accent-ink)}.pinpad-key:disabled{opacity:.4}:root{--bg-page: #f4f4f2;--surface: #ffffff;--surface-alt: #fafafa;--surface-sunken: #f0f0ee;--border: #eaeae7;--border-strong: #dcdcd8;--text-primary: #17171c;--text-secondary: #6f6f78;--text-tertiary: #a3a3ab;--accent: #f2643b;--accent-ink: #fff3ee;--accent-hover: #e0552e;--ok: #1fa463;--ok-soft: #e7f8ef;--warn: #e2900f;--warn-soft: #fdf1de;--danger: #e5484d;--danger-soft: #fdecec;--font-display: "Plus Jakarta Sans", -apple-system, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(20, 20, 24, .04), 0 10px 24px rgba(20, 20, 24, .05);--shadow-pop: 0 20px 48px rgba(20, 20, 24, .16);--tap-min: 50px;--rail-w: 76px}:root[data-theme=dark]{--bg-page: #131316;--surface: #1c1c21;--surface-alt: #212127;--surface-sunken: #19191e;--border: #2b2b32;--border-strong: #38383f;--text-primary: #f3f3f5;--text-secondary: #9d9da8;--text-tertiary: #6d6d77;--accent-ink: #2c1a14;--ok-soft: #123424;--warn-soft: #3a2a0d;--danger-soft: #3a1618;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 24px rgba(0, 0, 0, .35);--shadow-pop: 0 20px 48px rgba(0, 0, 0, .5)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-page: #131316;--surface: #1c1c21;--surface-alt: #212127;--surface-sunken: #19191e;--border: #2b2b32;--border-strong: #38383f;--text-primary: #f3f3f5;--text-secondary: #9d9da8;--text-tertiary: #6d6d77;--accent-ink: #2c1a14;--ok-soft: #123424;--warn-soft: #3a2a0d;--danger-soft: #3a1618;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 24px rgba(0, 0, 0, .35);--shadow-pop: 0 20px 48px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background .2s ease,color .2s ease}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;margin:0;color:var(--text-primary)}h1{font-size:clamp(1.8rem,4vw,2.6rem)}h2{font-size:1.4rem}h3{font-size:1.05rem}p{margin:0;line-height:1.55;color:var(--text-secondary)}a{color:inherit}button,input,select{font-family:inherit;color:inherit}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.shell{flex:1;display:flex;flex-direction:column}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.card,.tag-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card)}.tear{border:none;border-top:1px solid var(--border);margin:16px 0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-min);padding:0 20px;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:600;font-size:.95rem;transition:transform .08s ease,filter .15s ease,background .15s ease,border-color .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--text-primary);color:var(--surface)}.btn-primary:hover:not(:disabled){filter:brightness(1.15)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--surface);border:1.5px solid var(--border-strong);color:var(--text-primary)}.btn-ghost:hover:not(:disabled){border-color:var(--text-primary)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-block{width:100%}.btn-sm{min-height:38px;padding:0 14px;font-size:.82rem}.btn-icon{min-height:40px;min-width:40px;padding:0;border-radius:50%}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=number],.field select{min-height:var(--tap-min);background:var(--surface-sunken);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:0 14px;color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color .15s ease,background .15s ease}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b8b93' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.field select option{background:var(--surface);color:var(--text-primary)}.field input:focus,.field select:focus{border-color:var(--accent);background:var(--surface)}.field-file{border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);padding:10px 14px;background:var(--surface-sunken)}.field-file input{color:var(--text-secondary);font-size:.85rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 800px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stamp{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.8rem;padding:5px 12px 5px 10px;border-radius:var(--radius-pill)}.stamp:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.stamp-aberta{color:var(--warn);background:var(--warn-soft)}.stamp-concluida{color:var(--ok);background:var(--ok-soft)}.stamp-cancelada{color:var(--danger);background:var(--danger-soft)}.empty-state{text-align:center;padding:48px 20px;color:var(--text-tertiary)}.error-banner{background:var(--danger-soft);border:1.5px solid rgba(229,72,77,.35);color:var(--danger);padding:12px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:500}.spinner{width:20px;height:20px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rise{animation:riseIn .35s ease both}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:12px;border-bottom:1px solid var(--border)}td{padding:14px 12px;border-bottom:1px solid var(--border);font-size:.9rem}tbody tr:hover{background:var(--surface-alt)}tr:last-child td{border-bottom:none}@media (max-width: 640px){.container{padding:0 14px}}
