:root{--pms-navy:#00182B;--pms-primary:#045B8F;--pms-primary-hover:#034A73;--pms-selection:#D7F0FE;--pms-border:#C0D6E3;--surface:#FFFFFF;--surface-subtle:#F9F9F9;--surface-disabled:#F1F4F6;--text-primary:#173042;--text-secondary:#465F6E;--text-muted:#6B7F8B;--text-disabled:#8798A2;--on-dark:#FFFFFF;--on-dark-muted:#B9CED9;--success:#167A55;--success-soft:#E5F5EE;--success-border:#B9E2D2;--warning:#8A6500;--warning-soft:#FFF5D9;--warning-border:#E7D28E;--danger:#B42318;--danger-hover:#8F1C13;--danger-soft:#FDECEA;--danger-border:#F2BBB5;--info:var(--pms-primary);--info-soft:#E8F4FB;--info-border:#B6D9EC;--focus-ring:rgba(4,91,143,.18);--overlay:rgba(0,24,43,.46);--shadow-1:0 1px 3px rgba(0,24,43,.08);--shadow-2:0 8px 24px rgba(0,24,43,.14);--brand-primary:var(--pms-primary);--brand-primary-dark:var(--pms-primary-hover);--brand-link:var(--pms-primary);--navy:var(--pms-navy);--navy-deep:var(--pms-navy);--cyan:#9BD7F5;--surface-soft:var(--surface-subtle);--surface-tint:var(--pms-selection);--border-soft:var(--pms-border);--border:var(--pms-border);--border-strong:#91B6CA;--radius:8px;--sidebar-w:248px;--sidebar-wc:64px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Arial,Helvetica Neue,Helvetica,system-ui,sans-serif;background:var(--surface-soft);color:var(--text-primary);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border-radius:6px;border:1px solid transparent}input,select{font:inherit;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--pms-primary);box-shadow:0 0 0 3px var(--focus-ring)}input:disabled,select:disabled{background:var(--surface-disabled);color:var(--text-disabled);cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--pms-primary);outline-offset:2px}a{color:var(--brand-link)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary)}h1,h2,h3{margin:0;color:var(--text-primary)}p{margin:0;color:var(--text-secondary)}.muted{color:var(--text-muted);font-size:12px}.error{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);padding:10px 12px;border-radius:8px;font-size:13px}.error.attention{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.splash{height:100%;display:grid;place-items:center;color:var(--text-muted);font-size:14px;background:var(--navy)}.icon{display:inline-grid;place-items:center;font-size:16px;line-height:1}.eyebrow{letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--pms-primary);text-transform:uppercase}.brand-tile{display:inline-flex;border-radius:10px;overflow:hidden;background:var(--navy);flex:none;box-shadow:0 2px 10px #0022334d,0 0 0 1px #ffffff0f}.brand-tile img{display:block;width:100%;height:auto}.brand-inline{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:15px}.brand-inline .brand-tile{border-radius:8px;box-shadow:0 1px 4px #00223359,0 0 0 1px #ffffff14}.auth{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr;background:var(--navy)}.auth-brand{color:var(--surface);padding:clamp(40px,7vw,88px);display:flex;align-items:center;background:var(--pms-navy);border-right:1px solid rgba(215,240,254,.18)}.auth-brand-content{width:min(100%,560px);display:flex;flex-direction:column;gap:clamp(44px,8vh,72px)}.auth-brand-copy{display:flex;flex-direction:column;gap:18px}.auth-brand h1{color:var(--surface);font-size:clamp(38px,5vw,58px);font-weight:700;line-height:1.08;letter-spacing:-.025em}.auth-brand h1 span{display:block;color:var(--cyan);font-size:.62em;font-weight:600;letter-spacing:.015em;margin-top:8px}.auth-brand p{color:var(--on-dark-muted);max-width:38ch;font-size:clamp(15px,1.4vw,18px);line-height:1.55}.auth-brand .totvs-logo{width:184px;max-width:62%;height:auto;display:block;margin-left:-18px;clip-path:inset(5px 6px);filter:contrast(3) brightness(1.2);mix-blend-mode:screen}.login-panel{background:var(--surface);padding:clamp(28px,6vw,72px);display:flex;flex-direction:column;justify-content:center;gap:18px;max-width:520px}.login-panel h2{font-size:26px}.login-panel button{background:var(--brand-primary);color:var(--on-dark);font-weight:700;padding:12px 16px;border-radius:6px;transition:background .15s}.login-panel button:hover{background:var(--brand-primary-dark)}.login-panel button:disabled{opacity:.55;cursor:not-allowed}.totp-qr{width:280px;max-width:100%;height:auto;align-self:center;border:1px solid var(--border-soft);border-radius:8px;background:#fff;padding:8px}.tenant-page{min-height:100%;background:var(--surface-soft);display:flex;flex-direction:column}.tenant-page header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--border-soft)}.tenant-page section{max-width:860px;width:100%;margin:0 auto;padding:48px 28px;display:flex;flex-direction:column;gap:10px}.tenant-page h1{font-size:28px}.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:14px}.tenant-card{display:flex;align-items:center;gap:14px;text-align:left;padding:16px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-1);cursor:pointer;transition:border-color .15s,background .15s}.tenant-card:hover{background:var(--pms-selection);border-color:var(--pms-primary)}.tenant-card strong{display:block;font-size:15px}.tenant-card small{color:var(--text-muted);font-size:12px}.hotel-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--navy);color:var(--on-dark);font-weight:800}.chev{margin-left:auto;color:var(--brand-primary);font-weight:800}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%;overflow:hidden;transition:grid-template-columns .22s ease}.app.collapsed{grid-template-columns:var(--sidebar-wc) 1fr}.sidebar{background:var(--pms-navy);color:var(--surface);display:flex;flex-direction:column;overflow:hidden;transition:width .22s ease}.brand-row{display:flex;align-items:center;gap:12px;padding:18px 14px 10px;min-height:60px}.brand-row .brand-tile{width:112px}.app.collapsed .brand-row .brand-tile{width:56px}.brand-name{font-weight:800;font-size:14px;line-height:1.05;letter-spacing:.02em}.brand-name small{display:block;font-weight:600;color:var(--cyan);font-size:11px;letter-spacing:.06em}.collapse-btn{margin:4px 12px 10px;align-self:flex-end;width:32px;height:32px;border-radius:6px;background:#ffffff14;color:var(--cyan);border:1px solid rgba(215,240,254,.28);font-size:14px;transition:background .15s,color .15s}.collapse-btn:hover{background:var(--pms-selection);color:var(--pms-primary)}.app.collapsed .collapse-btn{align-self:center}.side-nav{display:flex;flex-direction:column;gap:4px;padding:0 10px}.side-nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:11px 12px;background:transparent;color:var(--on-dark-muted);border-radius:6px;font-size:14px;font-weight:600;border:1px solid transparent;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.side-nav button:hover{background:var(--pms-selection);color:var(--pms-navy)}.side-nav button.active{background:var(--pms-selection);color:var(--pms-navy);border-color:var(--pms-primary);box-shadow:inset 3px 0 0 var(--pms-primary)}.app.collapsed .side-nav button{justify-content:flex-start;padding:11px;gap:0}.aside-foot{margin-top:auto;padding:14px;color:var(--on-dark-muted);font-size:12px;border-top:1px solid rgba(255,255,255,.08)}.aside-foot span{display:block;font-weight:700;color:var(--on-dark-muted)}.aside-foot small{display:block;margin-top:4px;color:var(--cyan)}.app.collapsed .aside-foot{font-size:0;padding:10px}.app.collapsed .aside-foot span{font-size:0}.workspace{height:100%;overflow:hidden;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 26px;background:var(--surface);border-bottom:1px solid var(--border-soft);box-shadow:0 1px #00223308}.topbar-left{display:flex;align-items:center;gap:16px;min-width:0}.topbar-brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:15px;color:var(--text-primary);white-space:nowrap}.topbar-logo{display:inline-flex;width:62px;border-radius:6px;overflow:hidden;background:var(--navy);flex:none}.topbar-logo img{display:block;width:100%;height:auto}.topbar-divider{width:1px;height:34px;background:var(--border-soft);flex:none}.hotel-current{display:flex;flex-direction:column;gap:2px;min-width:0}.hotel-current small{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--text-muted)}.hotel-current strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;align-items:center;gap:10px;flex:none}.mode{font-size:11px;font-weight:800;letter-spacing:.08em;padding:6px 10px;border-radius:999px;background:var(--info-soft);color:var(--info);border:1px solid var(--info-border)}.mode.operation{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.user-chip{font-size:13px;font-weight:700;color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border-soft);padding:6px 10px;border-radius:8px}.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:8px 12px;font-weight:600;transition:border-color .15s,color .15s,background .15s}.ghost:hover{color:var(--pms-primary);border-color:var(--pms-primary);background:var(--pms-selection)}.ghost:disabled{opacity:.5;cursor:not-allowed}.ghost.on-surface{background:var(--surface);color:var(--text-secondary)}.filled{background:var(--brand-primary);color:var(--on-dark);font-weight:700;padding:10px 14px}.filled:hover{background:var(--brand-primary-dark)}.filled:disabled{opacity:.5;cursor:not-allowed}.content{padding:28px;overflow:auto;display:flex;flex-direction:column;gap:16px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h1{font-size:24px;letter-spacing:-.01em}.page-head p{margin-top:4px;font-size:14px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.upload.primary{display:inline-flex;align-items:center;gap:8px;background:var(--brand-primary);color:var(--on-dark);font-weight:700;padding:10px 14px;border-radius:6px;cursor:pointer;transition:background .15s}.upload.primary:hover{background:var(--brand-primary-dark)}.upload.primary input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.download-block,.download-inline{display:inline-flex;align-items:center;gap:8px}.download-inline small{margin-left:2px}.download-inline .ghost{padding:9px 12px}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-1)}.quick h2{font-size:17px;margin-bottom:6px}.quick p{margin-bottom:14px}.notice{background:var(--info-soft);border:1px solid var(--info-border);border-left:4px solid var(--pms-primary);border-radius:var(--radius);padding:16px 20px}.notice b{color:var(--text-primary)}.notice p{margin-top:4px;font-size:13px}.connection{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow-1)}.connection b{display:block;font-size:14px}.connection small{color:var(--text-muted);font-size:12px}.dot{width:10px;height:10px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}.dot.online{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.metric{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-1)}.metric>span{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.metric strong{display:block;font-size:34px;color:var(--navy);margin:6px 0 10px}.metric div{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.metric b{color:var(--text-primary)}.summary{display:flex;flex-wrap:wrap;gap:10px}.summary .chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-soft);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);box-shadow:var(--shadow-1);transition:border-color .15s,color .15s,background .15s}.summary .chip b{font-size:14px;color:var(--navy)}.summary .chip.active{background:var(--pms-selection);border-color:var(--pms-primary);color:var(--pms-primary)}.summary .chip.active b{color:var(--pms-navy)}.summary .chip:not(.active):hover{background:var(--pms-selection);border-color:var(--pms-primary);color:var(--pms-primary)}.table-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.filters{width:auto;padding:8px 12px}.table-wrap{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:4px;box-shadow:var(--shadow-1);overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:11px 12px;color:var(--text-muted);font-size:11px;letter-spacing:.07em;text-transform:uppercase;border-bottom:2px solid var(--border-soft);white-space:nowrap}td{padding:11px 12px;border-bottom:1px solid var(--border-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--pms-selection)}tbody tr:has(input[type=checkbox]:checked){background:var(--pms-selection);box-shadow:inset 3px 0 0 var(--pms-primary)}.row-no{color:var(--text-muted);font-variant-numeric:tabular-nums}.status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.status.READY_TO_CREATE{background:var(--success-soft);color:var(--success)}.status.EXISTS_MATCH{background:var(--info-soft);color:var(--info)}.status.EXISTS_DIFFERENT{background:var(--warning-soft);color:var(--warning)}.status.INVALID{background:var(--danger-soft);color:var(--danger)}.status.ATTENTION,.status.EXISTS_INACTIVE{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border)}.status.VALID,.status.ATIVO{background:var(--success-soft);color:var(--success)}.status.INATIVO{background:var(--surface-soft);color:var(--text-muted)}.ok-cell{color:var(--success);font-weight:600;font-size:12px}.crit-list{display:flex;flex-wrap:wrap;gap:4px}.crit{display:inline-block;background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border);border-radius:6px;padding:2px 7px;font-size:10px;font-weight:800;letter-spacing:.05em}.crit.attention{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.link{background:transparent;border:1px solid transparent;color:var(--brand-link);font-weight:700;padding:4px 6px;border-radius:5px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.link:hover{background:var(--pms-selection);border-color:var(--pms-border);color:var(--brand-primary-dark)}.list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px}.list-head h2{font-size:16px}.list-head small{color:var(--text-muted)}.search{max-width:340px}.overlay{position:fixed;inset:0;background:var(--overlay);display:flex;justify-content:flex-end;z-index:60}.overlay:has(.modal){justify-content:center;align-items:center}.drawer{width:min(520px,96vw);height:100%;background:var(--surface);padding:24px;overflow:auto;box-shadow:-8px 0 30px #001a2933;display:flex;flex-direction:column;gap:16px;animation:slide .2s ease}.drawer.drawer-wide{width:min(1280px,calc(100vw - 64px));padding:22px}@keyframes slide{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.drawer h2{font-size:19px;word-break:break-word}.close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:8px;background:var(--surface-soft);color:var(--text-secondary);font-size:18px;border:none}.close:hover{background:var(--danger-soft);color:var(--danger)}.hint-line{font-size:12px;color:var(--text-muted);padding-bottom:6px;border-bottom:1px dashed var(--border-soft)}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare pre{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:8px;padding:10px;font-size:11px;overflow:auto;max-height:220px;white-space:pre-wrap;word-break:break-word;margin:0}.field-error{background:var(--danger-soft);border:1px solid var(--danger-border);border-left:4px solid var(--danger);border-radius:8px;padding:10px 12px}.field-error b{color:var(--danger);font-size:13px}.field-error span{display:block;margin-top:4px;font-size:12px;color:var(--text-secondary);font-weight:600}.field-error p{margin-top:4px;font-size:13px;color:var(--text-primary)}.field-error small{display:block;margin-top:2px;color:var(--text-muted);font-size:12px}.field-error.attention{background:var(--warning-soft);border-color:var(--warning-border);border-left-color:var(--warning)}.field-error.attention b{color:var(--warning)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label.full{grid-column:1/-1}.field-invalid input{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.form-grid label input[type=number]{font-variant-numeric:tabular-nums}.drawer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px;position:sticky;bottom:0;background:var(--surface);padding-top:12px;border-top:1px solid var(--border-soft)}.modal{width:min(460px,94vw);background:var(--surface);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-2);position:relative;max-height:92vh;overflow:auto;display:flex;flex-direction:column;gap:16px}.modal h2{font-size:20px}.modal dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px}.modal dt{color:var(--text-muted);font-weight:700}.modal dd{margin:0;font-weight:600}@media(max-width:860px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.topbar{flex-wrap:wrap}.form-grid,.metrics{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;gap:7px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);padding:9px 14px;border-radius:6px;font-weight:700;font-size:14px;box-shadow:none;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.btn:hover{background:var(--pms-selection);border-color:var(--pms-primary)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:1;background:var(--surface-disabled);border-color:var(--border-soft);color:var(--text-disabled);cursor:not-allowed;transform:none}.btn-primary{background:var(--pms-primary);color:var(--surface);border-color:var(--pms-primary);box-shadow:none}.btn-primary:hover{border-color:var(--pms-primary-hover);background:var(--pms-primary-hover);color:var(--surface);box-shadow:none}.btn-danger{background:var(--danger);color:var(--surface);border-color:var(--danger);box-shadow:none}.btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover);color:var(--surface)}.btn-danger:disabled{background:var(--surface-disabled);border-color:var(--border-soft);color:var(--text-disabled);cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary);box-shadow:none}.btn-ghost:hover{color:var(--pms-primary);border-color:var(--pms-primary);background:var(--pms-selection)}.btn-sm{padding:6px 10px;font-size:12.5px;border-radius:7px}.btn .icon-svg{vertical-align:middle}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.icon-svg{display:inline-block;vertical-align:-3px;flex:none}.import-card{display:flex;flex-direction:column;gap:16px}.import-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.import-head h2{font-size:19px;margin-top:4px}.loading{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--brand-primary)}.loading:before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--brand-primary);border-top-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.import-meta{display:flex;flex-direction:column;gap:16px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.meta-grid span{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}.meta-grid small{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--text-muted);text-transform:uppercase}.meta-grid b{font-size:13.5px;color:var(--text-primary)}.sheets{display:flex;flex-direction:column;gap:8px}.sheets-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.sheet-chip{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.sheet-chip.off{background:var(--surface-soft);color:var(--text-muted);border:1px dashed var(--border-strong)}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.tile-btn{background:none;border:none;padding:0;text-align:left;border-radius:var(--radius)}.module-tile{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-1);transition:border-color .15s,background .15s;width:100%}.tile-btn .module-tile{cursor:pointer}.tile-btn .module-tile:hover{background:var(--pms-selection);border-color:var(--pms-primary);box-shadow:var(--shadow-1)}.module-tile.dim{opacity:.72}.tile-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:var(--pms-selection);color:var(--pms-primary);flex:none}.module-tile b{display:block;font-size:14px}.module-tile small{color:var(--text-muted);font-size:12px}.tile-ok{margin-left:auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--success-soft);color:var(--success)}.import-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 2px}.empty-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:var(--pms-selection);color:var(--pms-primary);margin-bottom:4px}.import-empty b{font-size:16px}.import-empty p{max-width:52ch;font-size:13.5px;line-height:1.5;margin-bottom:8px}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:36px 28px}.empty b{font-size:16px}.empty p{font-size:13.5px;color:var(--text-muted)}.log{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow-1)}.log-head{display:flex;align-items:center;gap:8px;color:var(--navy);margin-bottom:10px}.log-head h3{font-size:12px;letter-spacing:.1em;color:var(--text-muted)}.log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.log li{display:flex;gap:10px;align-items:baseline;font-size:13px;color:var(--text-secondary)}.log li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-primary);flex:none;align-self:center}.log-time{color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;flex:none}.row-actions{display:flex;align-items:center;gap:10px}.link.danger{color:var(--danger)}.link.danger:hover{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-hover)}.totvs-logo{width:186px;max-width:78vw;display:block}.tenant-header-actions{display:flex;align-items:center;gap:10px;flex:none}.notice.warning{background:var(--warning-soft);border-color:var(--warning-border);border-left-color:var(--warning)}.notice-body{display:flex;flex-direction:column;gap:10px}.notice-body b{font-size:14px}.notice-body p{color:var(--text-secondary)}.toast{display:flex;align-items:center;gap:10px;background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;box-shadow:var(--shadow-1)}.toast .close{position:static;margin-left:auto;background:transparent;width:24px;height:24px;font-size:14px}.types-toolbar{display:flex;flex-direction:column;gap:12px}.sel-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow-1)}.sel-count{font-size:13px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}.sel-count.ms{color:var(--text-primary)}.send-btn{margin-left:auto}.status.dup{background:var(--danger-soft);color:var(--danger);display:inline-flex;align-items:center;gap:5px}.dup-group-head td{background:var(--pms-selection);border-bottom:1px solid var(--pms-border);padding:12px}.group-label{font-weight:800;color:var(--navy)}.dup-group-head small{color:var(--text-muted);font-weight:600;margin-left:4px}.type-row.excluded td{opacity:.55;background:var(--surface-soft)}.sel-cell,.sel-col{width:34px;text-align:center}.sel-cell input,.restore-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-primary);cursor:pointer}.sel-cell input:disabled{cursor:not-allowed;opacity:.4}.export-msg{margin:0 0 -8px}.btn-link{background:none;border:none;color:var(--brand-link);font-weight:700;padding:2px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.btn-link:disabled{opacity:.5;cursor:not-allowed}.log li.tone-info:before{background:var(--brand-primary)}.log li.tone-success:before{background:var(--success)}.log li.tone-warn:before{background:var(--warning)}.log li.tone-error:before{background:var(--danger)}.log li.tone-warn{color:var(--warning)}.log li.tone-error{color:var(--danger);font-weight:600}.log li.tone-success{color:var(--success)}.log li.tone-success b,.log li.tone-error b{display:inline}.compare-table{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:10px;overflow:hidden}.compare-table th{background:var(--surface);text-transform:none;letter-spacing:.02em;font-size:11px;color:var(--text-muted)}.diff-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;background:var(--warning-soft);color:var(--warning)}.diff-badge.same{background:var(--success-soft);color:var(--success)}.state-banner{border-radius:10px;padding:11px 14px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}.state-banner.ok{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border)}.state-banner.warn{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border)}.restore-list{display:flex;flex-direction:column;gap:10px;max-height:350px;overflow:auto}.restore-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.restore-table th,.restore-table td{padding:8px 10px}.review-send{max-height:92vh;overflow:auto}.review-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto}.review-item{display:flex;align-items:center;gap:10px;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:8px;padding:8px 10px;font-size:13px}.review-send label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}.review-send input{padding:10px 12px;font-weight:800;letter-spacing:.16em}.review-send select,.modal.review-send input{width:100%}.module-section{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-1)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--border-soft)}.section-heading h2{font-size:19px;margin-top:3px}.section-heading p:not(.eyebrow){margin-top:5px;font-size:13px;color:var(--text-muted);max-width:72ch}.section-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-count{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--text-secondary);font-size:12px;font-weight:700}.readonly-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:var(--info-soft);border:1px solid var(--info-border);color:var(--info);font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.readonly-notice{display:flex;align-items:flex-start;gap:10px}.readonly-notice .icon-svg{margin-top:2px;flex:none}.section-state{min-height:116px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:24px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-soft)}.section-state p{font-size:13px;color:var(--text-muted)}.section-state.error{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.section-state.error p{color:var(--text-secondary)}.pms-toolbar{gap:14px}.pms-bulk-drawer{position:relative;gap:14px}.pms-bulk-drawer .section-heading{padding-right:40px}.pms-bulk-drawer table th,.pms-bulk-drawer table td{padding:9px 10px;font-size:12px}.pms-filters{display:grid;grid-template-columns:minmax(250px,1fr) minmax(210px,auto);gap:12px;align-items:end}.pms-filters label{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:700}.pms-filters .search{max-width:none;width:100%}.pms-filters .filters{width:100%}.pms-sel-bar{box-shadow:none}.pms-selection-limit{margin-left:auto;font-size:12px}.pms-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:14px;align-items:start}.selection-review{display:flex;flex-direction:column;gap:12px;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px;position:sticky;top:0}.selection-review h3{font-size:16px;margin-top:3px}.selection-empty{padding:16px 0;color:var(--text-secondary)}.selection-empty p{margin-top:4px;font-size:12px;color:var(--text-muted)}.selection-total{font-size:13px;font-weight:800;color:var(--navy)}.selection-review ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.selection-review li{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;padding:10px}.selection-review li b,.selection-review li span{display:block}.selection-review li b{font-size:13px}.selection-review li span{margin-top:3px;color:var(--text-muted);font-size:11px;line-height:1.35}.selection-review .btn-link{flex:none;font-size:11px}.pms-readonly .sel-cell input{width:16px;height:16px;accent-color:var(--brand-primary);cursor:pointer}@media(max-width:1100px){.pms-review-grid{grid-template-columns:1fr}.selection-review{position:static}.selection-review ul{max-height:240px}}@media(max-width:700px){.app,.app.collapsed{grid-template-columns:var(--sidebar-wc) minmax(0,1fr)}.sidebar .brand-row{padding:14px 4px 10px;justify-content:center}.sidebar .brand-row .brand-tile{width:56px}.sidebar .brand-name,.sidebar .collapse-btn,.sidebar .aside-foot{display:none}.side-nav{padding:0 6px}.side-nav button,.app.collapsed .side-nav button{justify-content:center;padding:11px;gap:0;font-size:0}.side-nav button .icon-svg{width:18px;height:18px}.topbar{padding:10px 12px;align-items:flex-start;flex-direction:column;gap:8px}.topbar-brand>span:last-child,.topbar-divider,.top-actions .user-chip{display:none}.topbar-logo{width:56px}.top-actions{width:100%;gap:6px;overflow-x:auto;padding-bottom:2px}.top-actions .btn{padding:7px 9px;font-size:12px}.content{padding:16px}.page-head .toolbar{width:100%}.page-head .toolbar .btn{flex:1 1 100%;justify-content:center;overflow:hidden;text-overflow:ellipsis}.module-section{padding:16px}.drawer.drawer-wide{width:100vw;padding:16px}.pms-bulk-drawer .section-heading{padding-right:34px}.pms-filters{grid-template-columns:1fr}.pms-selection-limit{margin-left:0;width:100%}.section-count{width:fit-content}.pms-readonly .summary{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.pms-readonly .summary .chip{flex:none}}
