:root{--primary: #605bff;--secondary: #ff7d7d;--background: #f5f3ff;--background-card: #ffffff;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-input: #f5f3ff;--text: #0f0f1a;--text-primary: #0f0f1a;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-form: #605bff;--border-color: #b0b0b0;--custom-border: #ffffff;--border-light: #e5e7eb;--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .15);--color-success-border: rgba(16, 185, 129, .3);--color-success-dark: #065f46;--color-success-light: #ecfdf5;--color-success-light-border: #a7f3d0;--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .15);--color-danger-border: rgba(239, 68, 68, .3);--color-danger-dark: #991b1b;--color-danger-light: #fef2f2;--color-danger-light-border: #fecaca;--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .15);--color-warning-border: rgba(245, 158, 11, .3);--color-warning-dark: #92400e;--color-warning-light: #fffbeb;--color-warning-light-border: #fde68a;--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .15);--color-info-border: rgba(59, 130, 246, .3);--color-neutral: #64748b;--color-neutral-bg: rgba(100, 116, 139, .15);--color-neutral-border: rgba(100, 116, 139, .3);--success: #34d399;--alert: #fbbf24;--other-color: #ffffff;--shadow-card: 0 5px 5px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f8f9fa;color:#333;line-height:1.6}.app-shell,.login-screen{font-family:Be Vietnam Pro,sans-serif;color:var(--text);line-height:1.5;background-color:var(--background)}.app-shell h1,.login-screen h1{margin:0;font-size:2rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.app-shell h2{font-size:1.5rem;font-weight:600;color:var(--text);letter-spacing:-.02em}.container{max-width:1400px;margin:0 auto;padding:20px}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:16px 20px;background-color:var(--background);border-right:1px solid var(--border-light);z-index:50}.sidebar-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-left:12px;color:var(--primary)}.sidebar-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--primary);line-height:1.2}.sidebar-user{margin:2px 0 0;font-size:.75rem;font-weight:400;color:var(--text-muted)}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar-link{display:flex;align-items:center;gap:10px;width:100%;padding:7px 12px;border:none;border-radius:10px;background:none;color:var(--text);font:inherit;font-size:.9rem;font-weight:500;line-height:1.2;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease}.sidebar-link svg{color:var(--primary);flex-shrink:0}.sidebar-link.active{background-color:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.sidebar-link:hover{background-color:var(--primary);color:#fff}.sidebar-link:hover svg{color:#fff}.sidebar-close,.menu-toggle{display:none;align-items:center;justify-content:center;border:1px solid var(--border-light);border-radius:10px;background:var(--background-card);color:var(--primary);cursor:pointer}.sidebar-overlay{display:none}.main-content{flex:1;min-width:0;min-height:100vh;padding:40px;background-color:var(--background)}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-header h1,.form-section h2{text-align:left}.btn svg{flex-shrink:0}.toast-stack{position:fixed;top:16px;right:16px;z-index:80;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100% - 32px))}.toast{border:none;border-radius:12px;padding:14px 16px;background:var(--background-card);color:var(--text);font-family:Be Vietnam Pro,sans-serif;font-size:14px;font-weight:600;text-align:left;cursor:pointer;box-shadow:var(--shadow-card)}.toast-sucesso{background:var(--color-success-light);color:var(--color-success-dark)}.toast-erro{background:var(--color-danger-light);color:var(--color-danger-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;background:transparent;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:opacity .2s ease}.btn:hover,.btn:active{opacity:.8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:#fff}.btn-secondary{background-color:var(--secondary);color:#fff}.btn-small{padding:8px 12px;font-size:13px}.codigo-busca{display:flex;gap:8px;align-items:stretch}.codigo-busca input{flex:1;min-width:0}.btn-lupa{width:55px;flex:none;padding:0}.toast-stack{position:fixed;top:21px;right:21px;z-index:70;display:flex;flex-direction:column;gap:8px;width:min(377px,calc(100% - 42px))}.toast{width:100%;margin:0;padding:13px 21px;border:1px solid var(--color-success-light-border);border-left:5px solid var(--color-success);border-radius:8px;background:var(--color-success-light);color:var(--color-success-dark);font-family:inherit;font-size:13px;font-weight:600;line-height:21px;text-align:left;cursor:pointer;box-shadow:var(--shadow-card);animation:toast-in 377ms cubic-bezier(.382,0,.618,1)}.toast-erro{background:var(--color-danger-light);color:var(--color-danger-dark);border-color:var(--color-danger-light-border);border-left-color:var(--color-danger)}@keyframes toast-in{0%{opacity:0;transform:translate(55px,-21px)}to{opacity:1;transform:translate(0)}}.alert{padding:15px 20px;border-radius:12px;margin-bottom:20px;border-left:4px solid;font-weight:500}.alert-success{background-color:var(--color-success-light);color:var(--color-success-dark);border-left-color:var(--color-success)}.alert-error{background-color:var(--color-danger-light);color:var(--color-danger-dark);border-left-color:var(--color-danger)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(circle at top,rgba(96,91,255,.12),transparent 55%),linear-gradient(180deg,#f8f7ff,#f5f3ff)}.login-shell{width:100%;max-width:960px;display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center}.login-brand h1{font-size:2.5rem;margin:16px 0 8px;text-align:left}.login-brand p{color:var(--text);opacity:.7;max-width:360px}.login-badge{display:inline-flex;align-items:center;padding:6px 12px;background:#605bff1f;color:var(--primary);border-radius:999px;font-weight:600;font-size:.85rem}.login-container{width:100%;background:var(--background-card);padding:28px;border:1px solid var(--custom-border);border-radius:26px;box-shadow:var(--shadow-card)}.login-header{text-align:left}.login-header h2{margin:0 0 6px}.login-header p{margin:0;color:var(--text);opacity:.7;font-size:.9rem}.login-form{margin-top:20px;display:flex;flex-direction:column;gap:16px}.login-form .form-group{margin-bottom:0}.login-actions{margin-top:8px;display:flex;justify-content:flex-end}.login-form .btn{width:auto}.form-group{margin-bottom:20px}.form-group label,.filter-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea,.filter-group input,.filter-group select{width:100%;padding:12px 16px;border:2px solid transparent;border-radius:12px;font-size:14px;font-family:inherit;background:var(--bg-input);color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #605bff1a}.form-group textarea{resize:vertical;min-height:100px}input[readonly]{background:var(--bg-secondary);color:var(--text-secondary)}.form-section,.search-filters,.os-table-container,.os-summary,.form-actions{background:var(--background-card);padding:24px;border-radius:26px;box-shadow:var(--shadow-card);margin-bottom:24px}.form-section h2{margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}.form-row,.filter-row{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.form-row .form-group,.filter-group{flex:1;min-width:180px}.campo-pop{position:relative}.campo-pop-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border:2px solid transparent;border-radius:12px;background:var(--bg-input);color:var(--text);font-family:inherit;font-size:14px;text-align:left;cursor:pointer}.campo-pop-btn svg{flex:none;color:var(--primary)}.campo-pop-btn .seta-aberta{transform:rotate(180deg)}.campo-pop-placeholder{color:var(--text-muted)}.campo-pop-btn:hover,.campo-pop-btn[aria-expanded=true]{border-color:var(--primary)}.campo-pop-painel{position:absolute;z-index:30;top:calc(100% + 8px);left:0;min-width:100%;background:var(--background-card);border:1px solid var(--border-light);border-radius:13px;box-shadow:var(--shadow-card);padding:13px}.calendario{width:280px}.calendario-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--text)}.calendario-nav strong{font-size:13px;font-weight:600}.calendario-nav button,.calendario-limpar{border:none;background:transparent;color:var(--primary);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:5px}.calendario-nav button:hover,.calendario-limpar:hover,.calendario-dia:hover,.lista-opcoes button:hover{background:var(--bg-input)}.calendario-semana,.calendario-grade{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendario-semana{margin-bottom:5px;color:var(--text-muted);font-size:12px;font-weight:600}.calendario-dia{height:34px;border:none;border-radius:8px;background:transparent;color:var(--text);font-family:inherit;font-size:13px;cursor:pointer}.calendario-dia.hoje{box-shadow:inset 0 0 0 1px var(--primary)}.calendario-dia.selecionado,.calendario-dia.selecionado:hover{background:var(--primary);color:#fff}.calendario-limpar{width:100%;margin-top:8px;padding:8px;font-size:13px;font-weight:600}.lista-opcoes{padding:8px}.lista-opcoes button{width:100%;border:none;background:transparent;color:var(--text);font-family:inherit;font-size:14px;text-align:left;padding:8px 13px;border-radius:8px;cursor:pointer}.lista-opcoes button.ativa{background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary);font-weight:600}.filter-actions{display:flex;gap:10px;flex-wrap:wrap}.form-actions{text-align:center}.form-actions .btn{margin:0 8px 10px}.os-table-container{overflow-x:auto}.os-table{width:100%;border-collapse:collapse}.os-table th{background:color-mix(in srgb,var(--background) 65%,white);padding:12px;text-align:left;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.sort-btn{display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.sort-btn:hover,.sort-btn.ativo{color:var(--text)}.sort-setas{display:inline-flex;flex-direction:column;color:var(--text-muted)}.sort-setas svg{display:block;margin:-3px 0}.sort-setas .acesa{color:var(--primary)}.os-table td{padding:12px;border-bottom:1px solid var(--border-light);vertical-align:top;color:var(--text)}.os-table tbody tr:hover{background-color:var(--bg-secondary)}.os-table td:first-child,.os-table .actions{white-space:nowrap}.os-table .actions .btn{margin:0 5px 5px 0}.cell-sub{display:block;color:var(--text-secondary);font-size:12px}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-pendente{background:var(--color-warning-bg);color:var(--color-warning-dark)}.status-aprovado{background:var(--color-info-bg);color:var(--color-info)}.status-finalizado{background:var(--color-success-bg);color:var(--color-success-dark)}.status-cancelado{background:var(--color-danger-bg);color:var(--color-danger-dark)}.os-summary{text-align:center}.no-results{text-align:center;padding:40px;color:var(--text-secondary);font-size:18px}.text-center{text-align:center}.mt-20{margin-top:20px}.print-actions{display:flex;gap:8px;margin-top:21px}.print-page{max-width:900px}.via{margin-bottom:18px;padding:12px 0}.via-titulo{text-align:center;border:1px solid #000;border-radius:6px;padding:12px;margin-bottom:12px;font-size:16px}.via h5{margin:6px 0 4px;font-size:14px}.via p{margin:3px 0;font-size:13px;line-height:1.3}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.print-span{grid-column:1 / -1}.recorte{text-align:center;border-bottom:1px dotted #000;margin-top:16px;padding-bottom:6px}@media(max-width:768px){.menu-toggle{display:inline-flex;position:fixed;top:12px;left:12px;z-index:60;width:44px;height:44px}.menu-aberto .menu-toggle{display:none}.sidebar{position:fixed;top:0;left:0;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.sidebar-close{display:inline-flex;width:36px;height:36px;margin-left:auto}.sidebar-brand{padding-right:0}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f0f1a73}.main-content{padding:70px 12px 12px}.filter-actions{justify-content:center}.page-header,.page-header h1{justify-content:flex-start;text-align:left}.form-row,.filter-row{flex-direction:column}.form-row .form-group,.filter-group{min-width:100%}.os-table-container{overflow:visible;padding:13px}.os-table thead,.os-table tbody,.os-table tr{display:block}.os-table thead tr{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.os-table th{width:auto;padding:0;border:none;background:transparent}.os-table th:last-child{display:none}.os-table .sort-btn{background:var(--bg-input);border-radius:8px;padding:8px 13px}.os-table tbody tr{margin-bottom:13px;padding:8px 0;border:1px solid var(--border-light);border-radius:13px;background:var(--bg-secondary)}.os-table tbody tr:hover{background:var(--bg-secondary)}.os-table td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:start;padding:8px 13px;border-bottom:none}.os-table td:before{content:attr(data-label);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);padding-top:2px}.os-table td.actions{display:flex;gap:8px;white-space:normal}.os-table td.actions:before{content:none}.os-table .actions .btn{flex:1;width:auto;margin:0}.form-section,.search-filters,.os-table-container,.os-summary,.form-actions,.login-container{border-radius:16px}.print-grid{grid-template-columns:1fr}}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand,.login-brand h1{text-align:center}.login-brand p{margin:0 auto}.login-actions{justify-content:stretch}.login-actions .btn{width:100%}}@media(max-width:480px){.container{padding:10px}.login-container,.form-section{padding:16px}.app-shell .btn,.login-screen .btn{width:100%}.codigo-busca .btn-lupa{width:55px}}@media print{body{background:#fff}.no-print,.toast-stack{display:none!important}.print-page.container{max-width:210mm;padding:8px}.via{page-break-inside:avoid;padding:6px 0}.via-titulo{font-size:12pt;padding:8px}.via h5{font-size:10pt}.via p{font-size:8pt;line-height:1.1}@page{size:A4;margin:.3cm}}
