:root{--transition: .2s ease-in-out;--radius: 12px;--color-primary: rgb(77, 124, 254);--color-primary-hover: rgb(60, 106, 241);--color-primary-active: rgb(50, 92, 217);--color-secondary: rgb(143, 179, 255);--color-secondary-hover: rgb(118, 156, 255);--color-secondary-active: rgb(90, 135, 255);--color-danger: rgb(214, 91, 91);--color-danger-hover: rgb(192, 71, 71);--color-danger-active: rgb(168, 56, 56);--color-alert: rgb(217, 119, 6);--color-alert-hover: rgb(245, 158, 11);--color-alert-active: rgb(180, 83, 9);--color-draft: rgb(16, 185, 129);--color-draft-hover: rgb(5, 150, 105);--color-draft-active: rgb(4, 120, 87);--color-view: rgb(59, 130, 246);--color-view-hover: rgb(96, 165, 250);--color-view-active: rgb(37, 99, 235);--color-edit: rgb(99, 102, 241);--color-edit-hover: rgb(129, 140, 248);--color-edit-active: rgb(79, 70, 229);--color-bg: rgb(233, 236, 241);--color-surface: rgb(245, 246, 248);--color-border: rgb(208, 213, 223);--color-input: rgb(255, 255, 255);--color-text: rgb(42, 47, 58);--color-muted: rgb(108, 114, 128);--color-text-button: rgb(255, 255, 255);--logo-url: url(/logozplugin.png)}:root[data-theme=light]{--transition: .2s ease-in-out;--radius: 12px;--color-primary: rgb(37, 99, 235);--color-primary-hover: rgb(29, 78, 216);--color-primary-active: rgb(23, 63, 180);--color-secondary: rgb(96, 165, 250);--color-secondary-hover: rgb(59, 130, 246);--color-secondary-active: rgb(37, 99, 235);--color-danger: rgb(220, 38, 38);--color-danger-hover: rgb(185, 28, 28);--color-danger-active: rgb(153, 27, 27);--color-alert: rgb(217, 119, 6);--color-alert-hover: rgb(245, 158, 11);--color-alert-active: rgb(180, 83, 9);--color-draft: rgb(34, 197, 94);--color-draft-hover: rgb(16, 185, 129);--color-draft-active: rgb(5, 150, 105);--color-view: rgb(37, 99, 235);--color-view-hover: rgb(59, 130, 246);--color-view-active: rgb(29, 78, 216);--color-edit: rgb(79, 70, 229);--color-edit-hover: rgb(99, 102, 241);--color-edit-active: rgb(67, 56, 202);--color-bg: rgb(245, 247, 250);--color-surface: rgb(255, 255, 255);--color-border: rgb(224, 230, 237);--color-input: rgb(250, 250, 255);--color-text: rgb(26, 31, 54);--color-text-button: rgb(255, 255, 255);--color-muted: rgb(107, 114, 128);--logo-url: url(/logozplugin.png)}:root[data-theme=dark]{--color-surface: rgb(28, 28, 33);--color-border: rgb(50, 50, 60);--color-primary: rgb(68, 135, 255);--color-primary-hover: rgb(58, 115, 220);--color-primary-active: rgb(45, 95, 190);--color-secondary: rgb(56, 120, 230);--color-secondary-hover: rgb(40, 100, 210);--color-secondary-active: rgb(30, 85, 185);--color-danger: rgb(240, 80, 80);--color-danger-hover: rgb(220, 55, 55);--color-danger-active: rgb(200, 40, 40);--color-view: rgb(96, 165, 250);--color-view-hover: rgb(147, 197, 253);--color-view-active: rgb(59, 130, 246);--color-edit: rgb(129, 140, 248);--color-edit-hover: rgb(165, 180, 252);--color-edit-active: rgb(99, 102, 241);--color-alert: rgb(245, 158, 11);--color-alert-hover: rgb(251, 191, 36);--color-alert-active: rgb(217, 119, 6);--color-draft: rgb(16, 185, 129);--color-draft-hover: rgb(5, 150, 105);--color-draft-active: rgb(4, 120, 87);--color-bg: rgb(17, 17, 19);--color-surface: rgb(30, 30, 36);--color-surface-2: rgb(38, 38, 44);--color-border: rgb(60, 60, 70);--color-text: rgb(235, 235, 245);--color-muted: rgb(150, 150, 160);--radius: 12px;--logo-url: url(/logo.png)}.app-logo{width:160px;height:48px;background-image:var(--logo-url);background-repeat:no-repeat;background-size:contain;background-position:center}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Inter,system-ui,sans-serif;background-color:var(--color-bg);color:var(--color-text);min-height:100vh;overflow-x:hidden;overflow-y:auto}a{text-decoration:none;color:inherit;transition:color var(--transition)}a:hover{color:var(--color-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.hover-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center}.hover-tooltip__text{position:absolute;bottom:calc(100% + .35rem);left:50%;transform:translate(-50%);background-color:#0f172aeb;color:#fff;border-radius:6px;padding:.25rem .55rem;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition);box-shadow:0 8px 18px #00000059;z-index:6}.hover-tooltip--bottom .hover-tooltip__text{bottom:auto;top:calc(100% + .35rem)}.hover-tooltip__text:after{content:"";position:absolute;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0f172aeb;bottom:-12px}.hover-tooltip--bottom .hover-tooltip__text:after{top:-12px;bottom:auto;border-top-color:transparent;border-bottom-color:#0f172aeb}.hover-tooltip:hover .hover-tooltip__text,.hover-tooltip:focus-within .hover-tooltip__text{opacity:1;transform:translate(-50%) translateY(-3px)}button{font-family:inherit;font-weight:500;border:none;border-radius:10px;padding:.55rem 1.1rem;cursor:pointer;transition:background-color var(--transition),transform .1s ease-in-out}.btn-primary{background-color:var(--color-primary);margin:.25rem;color:var(--color-text-button)}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary:active{background-color:var(--color-primary-active);transform:translateY(0)}.btn-secondary{background-color:var(--color-secondary);margin:.25rem;color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-secondary-hover);transform:translateY(-1px)}.btn-secondary:active{background-color:var(--color-secondary-active);transform:translateY(0)}.btn-danger{background-color:var(--color-danger);white-space:nowrap;margin:.25rem;color:var(--color-text-button)}.btn-danger:hover{background-color:var(--color-danger-hover);transform:translateY(-1px)}.btn-danger:active{background-color:var(--color-danger-active);transform:translateY(0)}.btn-attention{background-color:var(--color-alert);margin:.25rem;color:var(--color-text-button)}.btn-attention:hover{background-color:var(--color-alert-hover);transform:translateY(-1px)}.btn-attention:active{background-color:var(--color-alert-active);transform:translateY(0)}.btn-cancel{background-color:var(--color-alert);white-space:nowrap;margin:.25rem;color:var(--color-text-button)}.btn-cancel:hover{background-color:#f7971e;transform:translateY(-1px)}.btn-cancel:active{background-color:#f26f00;transform:translateY(0)}.btn-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-button)}.btn-outline:hover{border-color:var(--color-primary);background-color:rgba(var(--color-primary),.06);transform:translateY(-1px)}.btn-outline:active{transform:translateY(0)}.btn-draft{background-color:var(--color-draft);margin:.25rem;color:var(--color-text-button)}.btn-draft:hover{background-color:var(--color-draft-hover);transform:translateY(-1px)}.btn-draft:active{background-color:var(--color-draft-active);transform:translateY(0)}.btn-view,.btn-edit{margin:.25rem;color:var(--color-text-button);cursor:pointer;transition:background-color var(--transition),transform .1s ease-in-out}.btn-view{background-color:var(--color-view)}.btn-view:hover{background-color:var(--color-view-hover);transform:translateY(-1px)}.btn-view:active{background-color:var(--color-view-active);transform:translateY(0)}.btn-edit{background-color:var(--color-edit)}.btn-edit:hover{background-color:var(--color-edit-hover);transform:translateY(-1px)}.btn-edit:active{background-color:var(--color-edit-active);transform:translateY(0)}.btn-small{padding:.3rem .6rem;font-size:.8rem;border-radius:6px}.icon-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--color-primary);border:none;cursor:pointer;transition:background-color var(--transition)}.icon-button svg{color:var(--color-text-button)}.icon-button:hover{background:var(--color-secondary)}.refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:var(--color-primary);cursor:pointer;transition:background .2s ease,opacity .2s ease;padding:0}.refresh-btn:hover{opacity:.85}.refresh-btn svg{stroke:#fff}.cardbox{display:flex;align-items:center;gap:1rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.2rem 1.5rem;box-shadow:0 2px 8px #0000000d;transition:transform var(--transition),box-shadow var(--transition)}.cardbox-primary{border-left:5px solid var(--color-primary)}.cardbox-secondary{border-left:5px solid var(--color-primary-hover)}.cardbox-danger{border-left:5px solid var(--color-danger)}.cardbox-neutral{border-left:5px solid var(--color-border)}.cardbox-icon{font-size:1.8rem;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.cardbox-content{flex:1}.cardbox-title{font-size:.95rem;color:var(--color-muted);margin-bottom:.25rem}.cardbox-value{font-size:1.5rem;font-weight:600;color:var(--color-text)}.cardbox-body{margin-top:.5rem;color:var(--color-text);font-size:.95rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.cert-card{flex-direction:column;align-items:flex-start;background:#12131a;border:1px solid rgba(255,255,255,.08);padding:1.25rem}.cert-card__row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem;width:100%}.cert-card__info{flex:1 1 55%}.cert-card__info p{margin:0}.cert-card__meta{min-width:220px;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.cert-card__meta-item{text-align:right}.cert-card__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.cert-card--active{border-color:#4ade80!important;box-shadow:0 0 12px #4ade8059}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--color-bg)}.dashboard-main{flex:1;display:flex;flex-direction:column}.main-content{padding:2rem;flex:1;overflow-y:auto}.home-page{padding:2rem;color:var(--color-text)}.home-title{font-size:1.8rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.home-subtitle{color:var(--color-muted);font-size:1rem}.datatable-container{overflow-x:auto;background-color:var(--color-surface);border-radius:var(--radius);box-shadow:0 2px 8px #0000000d;margin-top:1rem;transition:box-shadow var(--transition),transform var(--transition)}.datatable{width:100%;border-collapse:collapse;min-width:600px}.datatable thead{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);text-align:left}.datatable th{padding:12px 16px;font-weight:600;text-transform:capitalize;color:var(--color-text);border-bottom:1px solid var(--color-border)}.datatable td{padding:10px 16px;font-size:.95rem;color:var(--color-text);border-top:1px solid var(--color-border)}.datatable tr:hover{background-color:var(--color-bg)}.datatable-actions{white-space:nowrap}.datatable-empty{text-align:center;padding:2rem;color:var(--color-muted);font-style:italic}.datatable-loading{position:absolute;inset:0;background-color:var(--color-surface);opacity:.9;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--color-primary);pointer-events:none;z-index:2}.table-responsive{width:100%;overflow-x:auto}.table-list{width:100%;border-collapse:collapse;min-width:700px}.table-list th,.table-list td{padding:10px 12px;border:1px solid var(--color-border);text-align:left;font-size:.95rem;color:var(--color-text)}.table-list th{background-color:var(--color-surface);font-weight:600}.table-list tbody tr:hover{background-color:rgba(var(--color-primary),.04)}.form-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 2px 8px #0000000d;max-width:100%;transition:box-shadow var(--transition),transform var(--transition);margin-top:1.25rem}.form-container{box-shadow:0 6px 16px #0000000f;transform:translateY(-2px)}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-group label{font-weight:500;color:var(--color-text);margin-bottom:.4rem}.form-group input,.form-group select,.form-group textarea{height:42px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:.5rem}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.view-value{border:1px solid var(--color-border);background:var(--color-surface);padding:.45rem .6rem;border-radius:6px;display:flex;align-items:center;font-size:.9rem;color:var(--color-text);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.section-title{margin-top:1.5rem;margin-bottom:.8rem;font-size:1.2rem;font-weight:600;color:var(--color-text)}.tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.tab-button{padding:.5rem .9rem;border:1px solid transparent;border-bottom:2px solid transparent;background:transparent;color:var(--color-muted);font-weight:600;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);transition:color var(--transition),border-color var(--transition),background-color var(--transition)}.tab-button.active{color:var(--color-primary);border-color:var(--color-border);border-bottom-color:var(--color-primary);background:rgba(var(--color-primary),.06)}.tab-button:hover{color:var(--color-primary)}.reform-alert{margin-top:1rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:rgba(var(--color-primary),.05);color:var(--color-text)}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:600}.link-like{background:none;border:none;padding:0;margin-top:6px;font-size:.9rem;color:var(--color-primary);cursor:pointer;text-decoration:underline;transition:color var(--transition)}.link-like:hover{opacity:.75;color:var(--color-primary-dark)}.config-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:1.75rem;margin-top:1.5rem}.config-panel,.payload-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 18px 40px #0f172a14}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-caption{color:var(--color-muted);font-size:.9rem;margin:0}.rule-card{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;background:var(--color-surface)}.rule-card-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;border-bottom:1px dashed var(--color-border)}.rule-card-actions{display:flex;gap:.4rem}.rule-card-actions button{padding:.4rem .9rem}.rule-card-body{padding:1rem 1.25rem 1.2rem}.rule-section{margin-top:1.25rem}.section-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:.8rem;color:var(--color-text)}.section-toggle span{color:var(--color-muted);font-size:.9rem}.retencoes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.retencao-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem}.retencao-card h6{margin-top:0;font-size:.85rem}.json-preview{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:1rem;height:100%;min-height:400px;overflow:auto;font-size:.85rem;line-height:1.4}.input-base{border:1px solid var(--color-border);border-radius:6px;padding:.4rem .6rem;font-size:.9rem;transition:border var(--transition),background var(--transition);background-color:var(--color-surface);color:var(--color-text)}.input-base:hover{border-color:var(--color-primary);background-color:rgba(var(--color-primary),.05)}.input-focus{transition:border var(--transition),box-shadow var(--transition)}.input-focus:focus{border-color:var(--color-primary);outline:none}.input-base.input-error{border-color:var(--color-danger);box-shadow:var(--color-primary);background-color:var(--color-surface)}.input-with-link{display:flex;align-items:center;gap:.5rem}.input-search{border:1px solid var(--color-border);border-radius:6px;padding:.45rem .7rem;font-size:.95rem;background-color:var(--color-surface);color:var(--color-text);transition:border var(--transition),background var(--transition),box-shadow var(--transition)}.input-search:hover{border-color:var(--color-primary);background-color:rgba(var(--color-primary),.05);box-shadow:0 0 0 2px rgba(var(--color-primary),.12)}.input-search:focus{border-color:var(--color-primary);outline:none;background-color:rgba(var(--color-primary),.1);box-shadow:0 0 0 2px rgba(var(--color-primary),.16)}.input-with-link svg{opacity:.6}.search-results{position:absolute;top:100%;left:0;right:0;margin-top:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-surface);box-shadow:0 6px 18px #00000029;max-height:240px;overflow-y:auto;padding:4px 0;z-index:999}.dropdown-item{padding:.6rem .75rem;cursor:pointer;transition:background var(--transition),color var(--transition);display:block;border:1px solid transparent;border-radius:6px;margin:2px 6px}.dropdown-item:hover{background:#4d7cfe1a;color:var(--color-text);border-color:var(--color-primary);box-shadow:0 0 0 2px #4d7cfe33}.selected-cnpj-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.cnpj-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .5rem;border-radius:999px;background:rgba(var(--color-primary-rgb),.08);color:var(--color-text);border:1px solid var(--color-border)}.text-label{font-weight:500;color:var(--color-text)}.text-subtle{color:var(--color-muted)}.text-danger{color:var(--color-danger)}.product-search-container{position:relative;width:100%}.badge-row{display:flex;gap:.5rem;align-items:center;margin-top:.4rem}.badge-neutral{padding:4px 8px;border-radius:6px;background:var(--color-surface);border:1px solid var(--color-border);font-size:.8rem;color:var(--color-text)}.text-link{margin-top:.4rem;font-size:.9rem;color:var(--color-primary);cursor:pointer}.text-link:hover{text-decoration:underline}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.badge-success{padding:4px 8px;border-radius:6px;background:#22c55e26;border:1px solid rgb(34,197,94);color:#22c55e;font-size:.8rem}.badge-error{padding:4px 8px;border-radius:6px;background:#ef444426;border:1px solid rgb(239,68,68);color:#ef4444;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:75px;font-size:.85rem}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .15s ease-out}.modal-card{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius);width:100%;max-width:980px;box-shadow:0 4px 20px #0000001f;animation:popIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-content{margin-top:1rem;max-height:400px;overflow-y:auto;padding-right:1rem}.modal-item{background:var(--color-bg);padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem;border:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition)}.modal-item:hover{background:var(--color-primary);color:var(--color-text)}.modal-link{font-size:.9rem}.modal-step{margin-bottom:1.2rem}.modal-step h4{font-weight:600;margin-bottom:.3rem}.modal-actions{display:flex;justify-content:flex-end;margin-top:1rem}.modal-row{margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.modal-row:last-child{border-bottom:none}.modal-row h3{font-size:1.05rem;font-weight:600;color:var(--color-text);margin-bottom:.3rem}.modal-row p{font-size:.9rem;color:var(--color-muted);margin-bottom:.6rem}.modal-row__line{width:100%;display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;margin-top:.35rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;color:var(--color-primary);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),transform .15s ease}.modal-row__line svg{color:var(--color-primary);opacity:.85;transition:opacity var(--transition),color var(--transition)}.modal-row__line:hover{background:var(--color-primary-transparent);border-color:var(--color-primary);color:var(--color-primary-dark);transform:translate(2px)}.modal-row__line:hover svg{opacity:1;color:var(--color-primary-dark)}.cce-entry{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.5rem}.cce-entry-row{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:var(--color-muted)}.cce-entry-row span{min-width:140px}.cce-entry-row--primary span{color:var(--color-text);font-size:.95rem}.cce-entry-row--secondary{border-top:1px solid var(--color-border);padding-top:.4rem}.cce-entry-row__links{min-width:180px}.cce-entry-description{margin:0;color:var(--color-text);font-size:.9rem;white-space:pre-line}.cce-form-card{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.cce-form-card h4{margin-bottom:.5rem}.cce-list{display:flex;flex-direction:column;gap:.65rem}.drawer-overlay{position:fixed;inset:0;background:#00000059;z-index:9999;display:flex;justify-content:flex-end}.drawer-panel{position:fixed;top:0;right:0;width:80%;max-width:1100px;height:100vh;background:var(--color-surface);box-shadow:-10px 0 30px #0003;display:flex;flex-direction:column;overflow-y:auto}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.drawer-title{font-weight:600}.drawer-subtitle{font-size:13px;color:var(--color-muted)}.drawer-tabs{display:flex;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);overflow-x:auto}.drawer-tab{border:none;background:transparent;padding:.75rem;border-bottom:3px solid transparent;color:var(--color-muted);font-weight:600;cursor:pointer}.drawer-tab-active{border-bottom-color:var(--color-primary);color:var(--color-text)}.drawer-content{padding:1rem 1.25rem;overflow:visible;flex:1}.drawer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.drawer-grid input[type=checkbox]{width:auto!important;height:auto!important;transform:scale(1)}.drawer-grid .field-checkbox-wrapper{display:flex;align-items:center;gap:6px}.drawer-grid-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.drawer-placeholder{color:var(--color-muted)}@keyframes drawerIn{0%{transform:translate(30px);opacity:.7}to{transform:translate(0);opacity:1}}.navbar{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.8rem 1.5rem;box-shadow:0 2px 8px #0000000d;border-radius:0 0 var(--radius) var(--radius)}.navbar .title{font-size:1.25rem;font-weight:600;color:var(--color-primary);letter-spacing:-.02em}.navbar .user{display:flex;align-items:center;gap:1rem}.navbar .user span{color:var(--color-text);font-weight:500}.navbar .btn{background-color:var(--color-primary);color:var(--color-text-button);padding:.45rem .9rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color var(--transition),transform .1s ease-in-out}.navbar .btn:hover{background-color:var(--color-primary-hover);color:var(--color-text-button);transform:translateY(-1px)}.navbar .btn:active{background-color:var(--color-primary-active);color:var(--color-text-button);transform:translateY(0)}.pagination-container{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem}.pagination-button{padding:.4rem .8rem;border-radius:6px;background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:background-color var(--transition),transform .1s ease}.pagination-button:hover{background-color:var(--color-primary-hover);color:var(--color-text);transform:translateY(-1px)}.pagination-button:active{background-color:var(--color-primary-active);transform:translateY(0)}.pagination-button-active{background-color:var(--color-primary);color:var(--color-text);border-color:var(--color-primary)}.pagination-button-disabled{opacity:.5;cursor:not-allowed}.pagination-dropdown{display:flex;flex-direction:column;width:80px}.pagination-dropdown label{font-size:.85rem;color:var(--color-text);margin-bottom:4px}.pagination-dropdown select{height:42px;padding:.4rem .6rem;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text)}.pagination-dropdown select option{background-color:var(--color-surface);color:var(--color-text)}.pagination-ellipsis{padding:0 6px;font-size:1rem;color:var(--color-text);-webkit-user-select:none;user-select:none}.sidebar{width:220px;background-color:var(--color-surface);border-right:1px solid var(--color-border);min-height:100vh;padding:1rem;display:flex;flex-direction:column;box-shadow:2px 0 8px #00000008;transition:background-color var(--transition)}.sidebar-brand{margin-bottom:1.8rem;display:flex;justify-content:center}.sidebar-logo{content:var(--logo-url);height:52px;width:160px;object-fit:contain;display:block}.sidebar nav{display:flex;flex-direction:column;gap:.5rem}.sidebar nav a{padding:.6rem 1rem;border-radius:8px;color:var(--color-text);font-weight:500;transition:background-color var(--transition),color var(--transition)}.sidebar nav a:hover{background-color:var(--color-primary-hover);color:var(--color-text-button)}.sidebar nav a.active{background-color:var(--color-primary);color:var(--color-text-button)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;color:var(--color-text)}.spinner{display:inline-block;width:48px;height:48px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.spinner-small{width:24px;height:24px;border-width:3px}.spinner-text{margin-top:1rem;font-size:.95rem;color:var(--color-muted)}.spinner-fullscreen{position:fixed;inset:0;background:#00000059;z-index:9999}.page-container{padding:2rem 3rem;background:var(--color-bg);min-height:100vh;display:flex;justify-content:center}.page-content{width:100%;max-width:1500px;display:flex;flex-direction:column}.page-header-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem;padding-bottom:.8rem;border-bottom:1px solid var(--color-border)}.page-header-left{display:flex;align-items:center;gap:1rem}.page-header-back{width:60px;height:50px;border-radius:10px;display:flex;justify-content:center;align-items:center;background:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform .15s ease}.page-header-back:hover{background:var(--color-secondary-hover);border-color:var(--color-secondary-hover);box-shadow:0 0 8px #0006;transform:translateY(-1px)}.page-header-back svg{color:var(--color-text)}.page-header-title{font-size:1.45rem;font-weight:600;color:var(--color-text);margin:0}.page-header-subtitle{font-size:.9rem;color:var(--color-muted);margin-top:2px}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--color-bg);padding:1rem}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;width:100%;max-width:380px;box-shadow:0 6px 16px #0000000f;animation:fadeIn .25s ease-out}.login-header{text-align:center;margin-bottom:1.4rem}.login-logo{height:42px;margin-bottom:1rem}.login-header h2{color:var(--color-text)}.login-subtitle{color:var(--color-muted);font-size:.9rem}.login-error{background:color-mix(in srgb,var(--color-danger) 15%,transparent);border:1px solid var(--color-danger);color:var(--color-danger);padding:.75rem;border-radius:var(--radius);margin-bottom:1rem;text-align:center;font-size:.9rem}.login-footer{text-align:center;margin-top:1rem;font-size:.9rem;color:var(--color-muted)}.login-footer a{color:var(--color-primary);font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
