.app-layout{display:flex;min-height:100vh}.mobile-topbar,.sidebar-overlay{display:none}.sidebar{width:220px;background:#1e293b;color:#fff;display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid #334155}.sidebar-logo{width:2.35rem;height:2.35rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(148,163,184,.34);border-radius:10px;background:#0f172a3d}.sidebar-logo-image{width:1.7rem;height:1.7rem;display:block;object-fit:contain}.sidebar-title{display:block;font-size:1.15rem;font-weight:700;color:#fff;line-height:1.2}.sidebar-subtitle{display:block;font-size:.75rem;color:#94a3b8}.sidebar-nav{display:flex;flex-direction:column;padding:.75rem 0;gap:.2rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;color:#cbd5e1;text-decoration:none;font-size:.9rem;font-weight:500;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s}.sidebar-link:hover{background:#334155;color:#fff}.sidebar-link.active{background:#334155;color:#fff;border-left-color:#3b82f6;font-weight:600}.sidebar-link-icon{font-size:1.1rem;width:1.5rem;text-align:center;display:inline-flex;align-items:center;justify-content:center}.sidebar-link-icon-image{width:1.2rem;height:1.2rem;display:block;object-fit:contain}.sidebar-user{margin-top:auto;padding:.75rem 1rem;border-top:1px solid #334155;display:flex;flex-direction:column;gap:.4rem}.sidebar-user-name{font-size:.8rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout-btn{display:block;padding:.45rem .75rem;background:#334155;color:#cbd5e1;text-decoration:none;font-size:.82rem;border-radius:6px;text-align:center;transition:background .15s,color .15s}.sidebar-profile-btn{display:block;padding:.45rem .75rem;background:#2563eb2e;color:#dbeafe;text-decoration:none;font-size:.82rem;border-radius:6px;text-align:center;transition:background .15s,color .15s}.sidebar-profile-btn:hover{background:#3b82f647;color:#fff}.sidebar-logout-btn:hover{background:#ef4444;color:#fff}.app-main{flex:1;overflow-y:auto;background:var(--page-background)}.workflow-nav{display:inline-flex;gap:8px;justify-content:flex-end}.workflow-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid rgba(80,109,120,.22);border-radius:999px;background:#ffffffd6;color:#28424a;padding:0 16px;font-size:.9rem;font-weight:800;text-decoration:none;white-space:nowrap}.workflow-nav-link.active{border-color:transparent;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;box-shadow:0 12px 20px #29856a2e}.workflow-nav-logout-link{border-color:#ef444440;color:#991b1b;background:#fef2f2e6}.workflow-nav-logout-link:hover{border-color:#dc262673;background:#fee2e2;color:#7f1d1d}.workflow-nav-icon-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;width:38px;border:1px solid rgba(80,109,120,.22);border-radius:999px;background:#ffffffd6;color:#28424a;text-decoration:none}.workflow-nav-icon-link:hover{background:#e2e8f0}.workflow-nav-logout-icon-link{border-color:#ef444447;color:#991b1b;background:#fef2f2e6}.workflow-nav-logout-icon-link:hover{border-color:#dc262673;background:#fee2e2;color:#7f1d1d}@media(max-width:768px){.app-layout{display:block;min-height:100vh}.mobile-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;background:#1e293bf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 24px #0f172a2e}.mobile-topbar-brand{display:flex;align-items:center;gap:.7rem;color:#fff}.mobile-topbar-brand .sidebar-title,.mobile-topbar-brand .sidebar-subtitle{color:inherit}.mobile-topbar-brand .sidebar-subtitle{color:#94a3b8}.mobile-menu-btn{width:46px;height:46px;display:inline-flex;flex-direction:column;justify-content:center;gap:5px;padding:0 10px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#ffffff0f;cursor:pointer}.mobile-menu-btn span{width:100%;height:2px;border-radius:999px;background:#fff}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(82vw,300px);transform:translate(-100%);transition:transform .2s ease;z-index:60;box-shadow:18px 0 30px #0f172a38}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;border:0;background:#0f172a7a;cursor:pointer}.sidebar-overlay.open,.sidebar-brand div{display:block}.sidebar-link{justify-content:flex-start;padding:.85rem 1.25rem}.sidebar-link span:not(.sidebar-link-icon){display:inline}.sidebar-link-icon{width:1.5rem}.app-main{min-height:calc(100vh - 78px)}}.app-layout-workflow{display:block}.app-layout-workflow .mobile-topbar,.app-layout-workflow .sidebar-overlay,.app-layout-workflow .sidebar{display:none}.app-layout-workflow .app-main{min-height:100vh}@media(max-width:768px){.app-layout-workflow .app-main{min-height:100vh}.workflow-nav{width:100%;flex-wrap:wrap;justify-content:stretch}.workflow-nav-link{flex:1 1 92px}}.avatar{font-size:16px;width:2.5em;height:2.3em;border-radius:50%;background:#555;display:inline-flex;align-items:center;justify-content:center}.avatar-link{display:inline-flex;text-decoration:none;cursor:pointer}.avatar:after{content:attr(data-label);font-family:Readex Pro,sans-serif;color:#fff}.mqtt-page{padding:28px}.mqtt-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.mqtt-eyebrow{margin:0 0 10px;color:#b45309;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.mqtt-hero h1{margin:0;font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.04em}.mqtt-subtitle{max-width:680px;margin:12px 0 0;color:var(--muted);font-size:1rem}.mqtt-status{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:12px 16px;border:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#fffbeb);color:#9a3412;font-weight:700;white-space:nowrap}.mqtt-status-dot{width:10px;height:10px;border-radius:999px;background:currentColor;box-shadow:0 0 0 5px #f9731626}.mqtt-status-connected{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4,#ecfeff);color:#166534}.mqtt-status-reconnecting{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fff7ed);color:#b45309}.mqtt-status-disconnected{border-color:#fecaca;background:linear-gradient(135deg,#fef2f2,#fff1f2);color:#b91c1c}.mqtt-grid{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:22px}.mqtt-card{background:linear-gradient(180deg,#fffffffa,#f8fafcfa);border:1px solid rgba(226,232,240,.95);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.mqtt-publish-card,.mqtt-stream-card{padding:22px}.mqtt-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.mqtt-card-header h2{margin:0;font-size:1.2rem}.mqtt-card-header p{margin:6px 0 0;color:var(--muted);font-size:.92rem}.mqtt-mode-toggle{display:inline-flex;gap:8px;padding:6px;margin-bottom:16px;border:1px solid #fed7aa;border-radius:16px;background:#fff7ed}.mqtt-mode-btn{border:0;border-radius:12px;padding:10px 14px;background:transparent;color:#9a3412;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease}.mqtt-mode-btn.active{background:linear-gradient(135deg,#ea580c,#f59e0b);color:#fff}.mqtt-mode-note{margin-bottom:16px;padding:14px 16px;border:1px dashed #fdba74;border-radius:16px;background:#fff7ed;color:#9a3412;font-size:.92rem}.mqtt-field{display:block;margin-bottom:16px}.mqtt-field span{display:block;margin-bottom:8px;font-weight:700;color:#334155}.mqtt-field input,.mqtt-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:16px;background:#fff;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease}.mqtt-field textarea{min-height:240px;resize:vertical;font-family:Consolas,Courier New,monospace}.mqtt-field input:focus,.mqtt-field textarea:focus{outline:none;border-color:#fb923c;box-shadow:0 0 0 4px #fb923c24}.mqtt-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mqtt-publish-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.mqtt-primary-btn{border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,#ea580c,#f59e0b);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 12px 24px #ea580c38;transition:transform .2s ease,box-shadow .2s ease}.mqtt-primary-btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px #ea580c47}.mqtt-feedback{margin:0;font-size:.92rem}.mqtt-feedback-pending{color:var(--muted)}.mqtt-feedback-success{color:#166534}.mqtt-feedback-error{color:#b91c1c}.mqtt-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:96px;padding:8px 12px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:.82rem;font-weight:800}.mqtt-stream-actions{display:flex;align-items:center;gap:10px}.mqtt-secondary-btn{border:1px solid #fdba74;border-radius:14px;padding:10px 14px;background:#fff7ed;color:#c2410c;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}.mqtt-secondary-btn:hover:not(:disabled){background:#ffedd5}.mqtt-secondary-btn:disabled{cursor:wait;opacity:.7}.mqtt-empty-state{border:1px dashed #fdba74;border-radius:18px;padding:24px;background:linear-gradient(135deg,#fff7ed,#fffbeb)}.mqtt-empty-state strong{display:block;margin-bottom:8px}.mqtt-empty-state p{margin:0;color:#9a3412}.mqtt-message-list{display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow:auto;padding-right:4px}.mqtt-message-card{border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px}.mqtt-message-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;color:var(--muted);font-size:.84rem}.mqtt-topic-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#ffedd5;color:#c2410c;font-weight:800}.mqtt-topic-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.mqtt-response-chip{display:inline-flex;align-items:center;max-width:100%;border-radius:999px;padding:6px 10px;background:#dbeafe;color:#1d4ed8;font-weight:800;overflow-wrap:anywhere}.mqtt-payload{margin:0;padding:14px;border-radius:16px;background:#0f172a;color:#e2e8f0;overflow:auto;font-size:.86rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.mqtt-payload.is-json{background:linear-gradient(135deg,#0f172a,#1e293b)}.mqtt-ack-panel{margin-top:12px;padding:12px;border:1px solid #dbeafe;border-radius:14px;background:#eff6ff}.mqtt-ack-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#475569;font-size:.82rem}.mqtt-ack-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#e2e8f0;color:#334155;font-size:.76rem;font-weight:800;text-transform:uppercase}.mqtt-ack-published,.mqtt-ack-received{background:#dcfce7;color:#166534}.mqtt-ack-failed{background:#fee2e2;color:#991b1b}.mqtt-ack-skipped{background:#fef3c7;color:#92400e}.mqtt-ack-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.mqtt-ack-details div{min-width:0}.mqtt-ack-details dt{margin-bottom:4px;color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}.mqtt-ack-details dd{margin:0;color:#1e293b;font-size:.84rem;overflow-wrap:anywhere}.mqtt-ack-payload{margin:12px 0 0;padding:12px;border-radius:12px;background:#172554;color:#dbeafe;overflow:auto;font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.mqtt-ack-payload.is-json{background:linear-gradient(135deg,#172554,#1e3a8a)}@media(max-width:1080px){.mqtt-grid{grid-template-columns:1fr}}@media(max-width:720px){.mqtt-page{padding:16px}.mqtt-hero{flex-direction:column}.mqtt-message-meta{flex-direction:column;align-items:flex-start}.mqtt-stream-actions{width:100%;justify-content:space-between}.mqtt-auth-grid,.mqtt-ack-details{grid-template-columns:1fr}}.devices-page{display:flex;flex-direction:column;gap:24px;padding:24px;color:#182329}.devices-hero{display:flex;justify-content:space-between;gap:22px;padding:28px;border-radius:28px;background:radial-gradient(circle at top left,rgba(94,177,255,.18),transparent 34%),linear-gradient(135deg,#f2f8fd,#eefbf5 52%,#fff6e8);box-shadow:0 20px 40px #2c42571f}.devices-eyebrow{margin:0 0 8px;color:#466a7d;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.devices-hero h1{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.02}.devices-subtitle{max-width:820px;margin:14px 0 0;color:#4c6670;font-size:1rem;line-height:1.6}.devices-badge{display:flex;flex-direction:column;align-items:center;min-width:110px;padding:14px 16px;border-radius:20px;background:#ffffffb8;color:#28424a}.devices-badge-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}.devices-badge strong{font-size:1.55rem}.devices-badge span{margin-top:6px;color:#556c65;font-size:.9rem}.devices-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(360px,1fr);gap:20px}.devices-loading-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:280px;padding:32px 24px;border-radius:24px;background:#fff;border:1px solid rgba(105,130,126,.18);box-shadow:0 18px 32px #2d3f3a14;text-align:center}.devices-loading-block p{margin:0;color:#617981;font-size:.98rem;font-weight:700}.devices-loading-spinner{width:42px;height:42px;border:4px solid rgba(29,111,90,.16);border-top-color:#1d6f5a;border-radius:50%;animation:devices-spin .9s linear infinite}.devices-card{background:#fff;border:1px solid rgba(105,130,126,.18);border-radius:24px;box-shadow:0 18px 32px #2d3f3a14}.devices-form-card,.devices-list-card{padding:24px}.devices-card-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.devices-card-header h2{margin:0;font-size:1.28rem}.devices-card-header p{margin:6px 0 0;color:#617981;font-size:.95rem}.devices-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.devices-filter-chip{min-height:38px;border:1px solid rgba(86,116,128,.2);border-radius:999px;padding:0 14px;background:#f6fafc;color:#39535d;font-size:.88rem;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.devices-filter-chip:hover{background:#eef5f8}.devices-filter-chip-active{border-color:#2c7a67;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff}.devices-detail-summary{margin-bottom:18px;padding:16px 18px;border-radius:18px;background:#f5fafc;border:1px solid rgba(96,128,150,.18)}.devices-detail-summary p{margin:10px 0 0;color:#58707a;font-size:.92rem;font-weight:700}.devices-key-panel{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(96,128,150,.18)}.devices-key-label{color:#314851;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.devices-key-value{display:inline-flex;max-width:100%;padding:10px 12px;border-radius:14px;background:#edf4f8;color:#20353e;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.devices-key-help{color:#6c838d;font-size:.85rem;font-weight:700}.devices-field{display:block;margin-bottom:16px}.devices-field span{display:block;margin-bottom:8px;font-weight:700;color:#314851}.devices-field input,.devices-field select{width:100%;min-height:46px;border:1px solid rgba(95,123,133,.24);border-radius:14px;background:#fff;color:#182329;padding:0 14px;transition:border-color .2s ease,box-shadow .2s ease}.devices-field input:focus,.devices-field select:focus{outline:none;border-color:#5b8391;box-shadow:0 0 0 4px #316f881f}.devices-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.devices-actions,.devices-item-actions{display:flex;gap:10px;flex-wrap:wrap}.devices-primary-btn,.devices-secondary-btn,.devices-danger-btn{min-height:44px;border-radius:999px;padding:0 18px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.devices-primary-btn{border:0;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;box-shadow:0 14px 24px #29856a38}.devices-primary-btn:hover{transform:translateY(-1px)}.devices-link-btn{align-self:flex-start;border:0;padding:0;background:transparent;color:#1d6f5a;font-size:.88rem;font-weight:800;cursor:pointer}.devices-link-btn:hover{color:#155645}.devices-secondary-btn{border:1px solid rgba(80,109,120,.22);background:#ffffffd6;color:#28424a}.devices-danger-btn{border:1px solid rgba(162,70,54,.24);background:#fdebe7;color:#a24636}.devices-feedback{margin:12px 0 0;padding:12px 14px;border-radius:14px;font-size:.95rem;font-weight:600}.devices-feedback-pending{background:#fff2d9;color:#9a6900}.devices-feedback-success{background:#e6f8ef;color:#1d7f57}.devices-feedback-error{background:#fdebe7;color:#a24636}.devices-empty{border:1px dashed rgba(100,129,126,.26);border-radius:18px;padding:18px;background:#f8fbfb}.devices-empty strong{display:block}.devices-empty p{margin:8px 0 0;color:#617981}.devices-list{display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow:auto;padding-right:4px}.devices-item{padding:18px;border-radius:20px;background:#f8fbff;border:1px solid rgba(111,145,173,.16)}.devices-item-top{display:flex;justify-content:space-between;gap:14px}.devices-item-top h3{margin:0;font-size:1.08rem}.devices-item-top p{margin:5px 0 0;color:#667f87;font-size:.92rem}.devices-pill-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.devices-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:800;white-space:nowrap}.devices-status-active{background:#e6f8ef;color:#1d7f57}.devices-status-inactive,.devices-status-issue,.devices-status-maintenance{background:#fdebe7;color:#a24636}.devices-assignment{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:800;white-space:nowrap}.devices-assignment-assigned{background:#e9f1ff;color:#335eab}.devices-assignment-unassigned{background:#f0f3f5;color:#5e727c}.devices-meta{display:flex;flex-direction:column;gap:6px;margin:14px 0;color:#60757e;font-size:.9rem;font-weight:700}.devices-key-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.devices-key-row code{padding:3px 8px;border-radius:999px;background:#edf4f8;color:#20353e;font-size:.84rem}@keyframes devices-spin{to{transform:rotate(360deg)}}@media(max-width:1080px){.devices-hero,.devices-grid{grid-template-columns:1fr;display:grid}}@media(max-width:720px){.devices-page{padding:16px}.devices-hero{padding:20px}.devices-badge-row{justify-content:flex-start}.devices-form-card,.devices-list-card{padding:20px}.devices-form-row{grid-template-columns:1fr}.devices-item-top{flex-direction:column}}.register-page{display:flex;flex-direction:column;gap:24px;padding:24px;color:#182329}.register-hero{display:flex;justify-content:space-between;gap:22px;padding:28px;border-radius:28px;background:radial-gradient(circle at top left,rgba(94,177,255,.18),transparent 34%),linear-gradient(135deg,#f2f8fd,#eefbf5 52%,#fff6e8);box-shadow:0 20px 40px #2c42571f}.register-eyebrow{margin:0 0 8px;color:#466a7d;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.register-hero h1{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.02}.register-subtitle{max-width:820px;margin:14px 0 0;color:#4c6670;font-size:1rem;line-height:1.6}.register-summary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:12px}.register-summary div{padding:14px 16px;border-radius:20px;background:#ffffffb8;color:#28424a;text-align:center}.register-summary strong{display:block;font-size:1.55rem}.register-summary span{display:block;margin-top:6px;color:#556c65;font-size:.9rem}.register-grid{display:grid;grid-template-columns:minmax(320px,430px) minmax(360px,1fr);gap:20px}.register-loading-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:280px;padding:32px 24px;border-radius:24px;background:#fff;border:1px solid rgba(105,130,126,.18);box-shadow:0 18px 32px #2d3f3a14;text-align:center}.register-loading-block p{margin:0;color:#617981;font-size:.98rem;font-weight:700}.register-loading-spinner{width:42px;height:42px;border:4px solid rgba(29,111,90,.16);border-top-color:#1d6f5a;border-radius:50%;animation:register-spin .9s linear infinite}.register-stack{display:flex;flex-direction:column;gap:20px}.register-card{background:#fff;border:1px solid rgba(105,130,126,.18);border-radius:24px;box-shadow:0 18px 32px #2d3f3a14}.register-form-card,.register-list-card{padding:24px}.register-card-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.register-card-header h2{margin:0;font-size:1.28rem}.register-card-header p{margin:6px 0 0;color:#617981;font-size:.95rem}.register-rule{margin-bottom:16px;padding:14px 16px;border-radius:18px;background:#f6fafc;color:#546a73;line-height:1.55}.register-rule code{font-weight:800}.register-field{display:block;margin-bottom:16px}.register-filter-field{display:block;margin-bottom:14px}.register-field span,.register-filter-field span{display:block;margin-bottom:8px;font-weight:700;color:#314851}.register-field input,.register-field select,.register-filter-field input{width:100%;min-height:46px;border:1px solid rgba(95,123,133,.24);border-radius:14px;background:#fff;color:#182329;padding:0 14px;transition:border-color .2s ease,box-shadow .2s ease}.register-field input:focus,.register-field select:focus,.register-filter-field input:focus{outline:none;border-color:#5b8391;box-shadow:0 0 0 4px #316f881f}.register-actions{display:flex;gap:10px;flex-wrap:wrap}.register-primary-btn,.register-secondary-btn{min-height:44px;border-radius:999px;padding:0 18px;font-weight:800;cursor:pointer}.register-primary-btn{border:0;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;box-shadow:0 14px 24px #29856a38}.register-secondary-btn{border:1px solid rgba(80,109,120,.22);background:#ffffffd6;color:#28424a}.register-feedback{margin:12px 0 0;padding:12px 14px;border-radius:14px;font-size:.95rem;font-weight:600}.register-feedback-pending{background:#fff2d9;color:#9a6900}.register-feedback-success{background:#e6f8ef;color:#1d7f57}.register-feedback-error{background:#fdebe7;color:#a24636}.register-empty{border:1px dashed rgba(100,129,126,.26);border-radius:18px;padding:18px;background:#f8fbfb}.register-empty strong{display:block}.register-empty p{margin:8px 0 0;color:#617981}.register-list{display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow:auto;padding-right:4px}.register-filter-summary{margin:0 0 14px;color:#617981;font-size:.92rem}.register-item{padding:18px;border-radius:20px;background:#f8fbff;border:1px solid rgba(111,145,173,.16);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.register-item:hover{transform:translateY(-1px);border-color:#4e799657}.register-item:focus-visible{outline:none;border-color:#5b8391;box-shadow:0 0 0 4px #316f881f}.register-item-selected{border-color:#216f566b;background:linear-gradient(135deg,#f4fbf8,#f7fbff);box-shadow:inset 0 0 0 1px #216f5624}.register-item-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px}.register-item-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.register-item-top h3{margin:0;font-size:1.08rem}.register-item-top p{margin:5px 0 0;color:#667f87;font-size:.92rem}.register-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:800;white-space:nowrap}.register-status-active{background:#e6f8ef;color:#1d7f57}.register-status-retired{background:#fdebe7;color:#a24636}.register-toggle-btn{min-height:38px;border:1px solid rgba(80,109,120,.22);border-radius:999px;padding:0 14px;background:#ffffffe0;color:#28424a;font-weight:800;cursor:pointer}.register-toggle-btn:disabled{opacity:.65;cursor:progress}.register-requests-card{padding:24px}.register-request-list{display:flex;flex-direction:column;gap:14px}.register-request-load-list{display:flex;flex-direction:column;gap:16px}.register-focus-card{display:flex;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:22px;background:radial-gradient(circle at top right,rgba(94,177,255,.16),transparent 34%),linear-gradient(135deg,#f2f8fd,#eefbf5 52%,#fff6e8);border:1px solid rgba(99,134,150,.18)}.register-focus-card h3{margin:4px 0 0;font-size:1.18rem}.register-focus-card p{margin:6px 0 0;color:#4c6670}.register-focus-meta{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:12px;min-width:240px}.register-focus-meta div{padding:12px 14px;border-radius:16px;background:#ffffffc2}.register-focus-meta dt{color:#7a9198;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.register-focus-meta dd{margin:0;font-weight:700;color:#22323a}.register-request-load-card{padding:18px;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#f5fbf8);border:1px solid rgba(111,145,173,.16)}.register-request-load-sides{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.register-load-panel{min-width:0;padding:16px;border-radius:18px;border:1px solid rgba(111,145,173,.14);background:#ffffffd1}.register-load-panel-outbound{background:linear-gradient(180deg,#e9f4ffeb,#fffffff0)}.register-load-panel-inbound{background:linear-gradient(180deg,#edf9f1eb,#fffffff0)}.register-load-panel-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px}.register-load-panel-top h3{margin:4px 0 0;font-size:1.04rem}.register-load-panel-top p{margin:4px 0 0;color:#667f87;font-size:.92rem}.register-load-direction{margin:0;color:#4b6a74;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.register-load-panel-stack{display:flex;flex-direction:column;gap:12px}.register-load-panel-nested{padding:14px;border-radius:16px;border:1px solid rgba(111,145,173,.12);background:#fffc}.register-load-panel-empty{display:flex;flex-direction:column;justify-content:center;min-height:100%;border:1px dashed rgba(100,129,126,.26);border-radius:16px;padding:16px;background:#f8fbfbe6}.register-load-panel-empty strong{display:block}.register-load-panel-empty p{margin:8px 0 0;color:#617981}.register-request-item{padding:18px;border-radius:20px;background:#f8fbff;border:1px solid rgba(111,145,173,.16)}.register-request-item-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px}.register-request-item-top h3{margin:0;font-size:1.08rem}.register-request-item-top p{margin:5px 0 0;color:#667f87;font-size:.92rem}.register-request-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:800;white-space:nowrap}.register-request-status-created,.register-request-status-displayed{background:#e6f8ef;color:#1d7f57}.register-request-status-inprogress,.register-request-status-awaitingconfirmation{background:#fff2d9;color:#9a6900}.register-request-status-completed{background:#e9f1ff;color:#335eab}.register-request-status-issue,.register-request-status-cancelled{background:#fdebe7;color:#a24636}.register-request-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0}.register-request-meta-grid div{min-width:0}.register-request-meta-grid dt{color:#7a9198;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.register-request-meta-grid dd{margin:0;font-weight:600;color:#22323a;line-height:1.45;overflow-wrap:anywhere}.register-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.register-meta-grid dt{color:#7a9198;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.register-meta-grid dd{margin:0;font-weight:600;color:#22323a;overflow-wrap:anywhere}@keyframes register-spin{to{transform:rotate(360deg)}}@media(max-width:1080px){.register-hero,.register-grid{grid-template-columns:1fr;display:grid}}@media(max-width:720px){.register-page{padding:16px}.register-hero,.register-form-card,.register-list-card,.register-requests-card{padding:20px}.register-summary,.register-meta-grid,.register-actions,.register-request-meta-grid,.register-focus-card,.register-focus-meta{grid-template-columns:1fr;display:grid}.register-request-load-sides{grid-template-columns:1fr}.register-item-top,.register-request-item-top,.register-load-panel-top{flex-direction:column;align-items:flex-start}}.kiosk-page{display:flex;flex-direction:column;gap:14px;min-height:100vh;padding:16px;box-sizing:border-box;color:#182329}.kiosk-hero{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:14px;background:radial-gradient(circle at top left,rgba(94,177,255,.18),transparent 34%),linear-gradient(135deg,#f2f8fd,#eefbf5 52%,#fff6e8);box-shadow:0 20px 40px #2c42571f}.kiosk-eyebrow{margin:0 0 4px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#466a7d}.kiosk-hero h1{margin:0;font-size:clamp(1.45rem,2vw,2.2rem);line-height:1.08}.kiosk-subtitle{display:-webkit-box;overflow:hidden;margin:8px 0 0;max-width:820px;color:#4c6670;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.kiosk-hero-register-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:10px}.kiosk-hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.kiosk-status{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 14px;border-radius:999px;font-weight:700;background:#ffffffd6;border:1px solid rgba(86,129,145,.22);color:#1f5468}.kiosk-status-dot{width:10px;height:10px;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px #316f8824}.kiosk-status-connected{color:#1e6d4e}.kiosk-status-reconnecting{color:#a56800}.kiosk-status-disconnected{color:#a33b32}.kiosk-select-field,.kiosk-field{display:flex;flex-direction:column;gap:8px}.kiosk-select-field span,.kiosk-field span{font-weight:700;color:#314851}.kiosk-select-field select,.kiosk-field select,.kiosk-field input,.kiosk-field textarea{min-height:40px;padding:0 14px;border-radius:14px;border:1px solid rgba(95,123,133,.24);background:#fff;color:#182329;font:inherit}.kiosk-field textarea{min-height:96px;padding:12px 14px;resize:vertical}.kiosk-hero-select-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:min(300px,100%)}.kiosk-hero-select-field span{margin-bottom:0;white-space:nowrap}.kiosk-hero-select-field select{width:100%}.kiosk-hero-input-field input{width:100%;color:#182329}.kiosk-hero-register-row .kiosk-inline-feedback{flex-basis:100%}.kiosk-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}.kiosk-stack{display:flex;flex-direction:column;gap:14px;min-width:0}.kiosk-card{padding:16px;border-radius:12px;background:#fff;border:1px solid rgba(105,130,126,.18);box-shadow:0 18px 32px #2d3f3a14}.kiosk-card-light{background:#f4f8f7;box-shadow:none;border-color:#69827e1f}.kiosk-card-compact{padding:10px 16px}.kiosk-info-row{display:flex;align-items:center;gap:0}.kiosk-info-item{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.kiosk-info-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#617981;white-space:nowrap;flex-shrink:0}.kiosk-info-value{font-size:.97rem;font-weight:600;color:#1a2e2a;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-info-divider{width:1px;height:20px;background:#69827e40;margin:0 16px;flex-shrink:0}.kiosk-info-field{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.kiosk-info-field select,.kiosk-info-field input:not(.kiosk-toggle-input){font-size:.9rem;padding:4px 8px;border-radius:6px;border:1px solid rgba(105,130,126,.3);background:#fff;min-width:0;flex:1}.kiosk-info-item-shrink{flex:0 0 auto}.kiosk-toggle-label{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.kiosk-toggle-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:44px;height:26px;border-radius:999px;background:#69827e38;box-shadow:inset 0 1px 3px #0000001a;border:1.5px solid rgba(105,130,126,.28);cursor:pointer;flex:none;padding:0;transition:background .2s,border-color .2s,box-shadow .2s}.kiosk-toggle-input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#c8d6d3;box-shadow:0 1px 4px #00000029;transition:transform .18s cubic-bezier(.34,1.3,.64,1),background .2s}.kiosk-toggle-input:checked{background:linear-gradient(135deg,#1d6f5a,#29856a);border-color:transparent;box-shadow:0 2px 8px #29856a4d}.kiosk-toggle-input:checked:after{background:#fff;transform:translate(18px)}.kiosk-toggle-input:disabled{opacity:.45;cursor:not-allowed}.kiosk-toggle-label:has(.kiosk-toggle-input:disabled){cursor:not-allowed}.kiosk-toggle-input:focus-visible{outline:2px solid #29856a;outline-offset:2px}.kiosk-card-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.kiosk-card-header h2{margin:0;font-size:1.12rem}.kiosk-card-header p{margin:4px 0 0;color:#617981;font-size:.9rem}.kiosk-operator-panel{display:flex;flex-direction:column;gap:14px}.kiosk-create-select-field,.kiosk-create-select-field select{min-width:220px}.kiosk-create-link-field{flex:1 1 320px}.kiosk-request-load-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kiosk-empty{padding:14px;border-radius:12px;background:#f8fbfb;border:1px dashed rgba(100,129,126,.26)}.kiosk-empty strong{display:block}.kiosk-empty p{margin:8px 0 0;color:#617981}.kiosk-register-top,.kiosk-request-top,.kiosk-attempt-top,.kiosk-reading-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 14px;margin-bottom:10px}.kiosk-register-top h3,.kiosk-request-top h3,.kiosk-attempt-top h3{margin:0;font-size:1.08rem}.kiosk-register-top p,.kiosk-request-top p,.kiosk-attempt-top p{margin:5px 0 0;color:#667f87}.kiosk-request-top-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.kiosk-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;font-size:.82rem;font-weight:800;white-space:nowrap}.kiosk-pill-active,.kiosk-pill-created,.kiosk-pill-displayed,.kiosk-pill-accepted{background:#e6f8ef;color:#1d7f57}.kiosk-pill-inprogress,.kiosk-pill-awaitingconfirmation,.kiosk-pill-pending{background:#fff2d9;color:#9a6900}.kiosk-pill-completed,.kiosk-pill-confirmed{background:#e7f0ff;color:#2f5e96}.kiosk-pill-retired,.kiosk-pill-rejected,.kiosk-pill-cancelled,.kiosk-pill-issue,.kiosk-pill-maintenance,.kiosk-pill-inactive,.kiosk-pill-unknown{background:#fdebe7;color:#a24636}.kiosk-mini-status{margin-top:8px;display:inline-flex;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:700}.kiosk-mini-status-active{background:#e6f8ef;color:#1d7f57}.kiosk-mini-status-inactive,.kiosk-mini-status-issue,.kiosk-mini-status-maintenance{background:#fdebe7;color:#a24636}.kiosk-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0}.kiosk-meta-grid div{min-width:0}.kiosk-meta-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#7a9198}.kiosk-meta-grid dd{margin:4px 0 0;font-weight:600;color:#22323a;overflow-wrap:anywhere}.kiosk-muted{color:#6a828a;font-weight:500}.kiosk-notes{margin-top:18px;padding:14px 16px;border-radius:18px;background:#f6fafc}.kiosk-notes strong{display:block}.kiosk-notes p{margin:8px 0 0;color:#546a73;line-height:1.5}.kiosk-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kiosk-reading-card,.kiosk-attempt-card{padding:14px;border-radius:12px;background:#f8fbff;border:1px solid rgba(111,145,173,.16)}.kiosk-load-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.kiosk-load-card{padding:10px;border-radius:10px;background:#f8fbff;border:1px solid rgba(111,145,173,.16)}.kiosk-load-card-selected{border-color:#29856a80;background:#f4fbf7;box-shadow:0 10px 18px #29856a1f}.kiosk-load-selected-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;background:#e6f8ef;color:#1d7f57;font-size:.72rem;font-weight:900}.kiosk-load-card .kiosk-request-top{margin-bottom:8px}.kiosk-load-card .kiosk-request-top h3{font-size:.98rem;line-height:1.25}.kiosk-load-meta-grid{gap:8px}.kiosk-load-meta-grid dt{font-size:.68rem}.kiosk-load-meta-grid dd{margin-top:2px;font-size:.9rem}.kiosk-load-progress{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:9px;border-radius:12px;background:#fff;border:1px solid rgba(111,145,173,.14)}.kiosk-load-progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.kiosk-load-progress-top span{color:#617981;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.kiosk-load-progress-top strong{color:#1d7f57;font-size:.92rem;font-weight:900;line-height:1}.kiosk-load-progress-track{overflow:hidden;height:7px;border-radius:999px;background:#2f5e9624}.kiosk-load-progress-track span{display:block;width:var(--kiosk-load-progress, 0%);height:100%;border-radius:inherit;background:linear-gradient(135deg,#1d6f5a,#29856a)}.kiosk-load-progress p{margin:0;color:#60757e;font-size:.76rem;font-weight:700}.kiosk-load-card .kiosk-actions{margin-top:10px}.kiosk-load-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}.kiosk-load-select-btn,.kiosk-load-detail-btn{min-height:34px;padding:0 14px;font-size:.86rem}.kiosk-selected-load-panel{display:flex;flex-direction:column;gap:10px}.kiosk-load-card-over .kiosk-load-progress-top strong{color:#a24636}.kiosk-load-card-over .kiosk-load-progress-track span{background:#a24636}.kiosk-reading-tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#dff4ff;color:#2d6485;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.kiosk-reading-value,.kiosk-attempt-value{font-size:clamp(1.2rem,1.6vw,1.65rem);font-weight:800;letter-spacing:-.03em;color:#15232a}.kiosk-reading-time{margin:6px 0 0;color:#60757e;font-weight:600}.kiosk-reading-detail{margin:8px 0 0;color:#42616e;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.kiosk-confirm-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(105,130,126,.16);min-width:0}.kiosk-confirm-copy,.kiosk-confirm-form{min-width:0;overflow:hidden}.kiosk-confirm-copy h3{margin:0 0 8px}.kiosk-confirm-copy p{margin:0;color:#617981;line-height:1.55}.kiosk-primary-btn,.kiosk-secondary-btn,.kiosk-danger-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;border:none;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.kiosk-primary-btn{background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;box-shadow:0 14px 24px #29856a38}.kiosk-primary-btn:disabled{cursor:not-allowed;opacity:.65;box-shadow:none}.kiosk-secondary-btn{background:#ffffffd6;color:#28424a;border:1px solid rgba(80,109,120,.22)}.kiosk-danger-btn{background:#fdebe7;color:#a24636;border:1px solid rgba(162,70,54,.24)}.kiosk-danger-btn:disabled{cursor:not-allowed;opacity:.65}.kiosk-actions{display:flex;align-items:center;margin-top:8px;justify-content:space-between;gap:1rem;width:100%}.kiosk-toggle-field{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;color:#28424a}.kiosk-direction-field{margin:0;padding:0;border:0;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.kiosk-direction-field legend{margin:0;padding:0}.kiosk-toggle-field input{width:18px;height:18px;accent-color:#1d6f5a}.kiosk-selected-load-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.kiosk-selected-load-heading h3{margin:0}.kiosk-hint{color:#6a8088;font-size:.92rem;overflow-wrap:break-word;word-break:break-word;min-width:0}.kiosk-blocker{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:10px 14px;border-radius:8px;background:#fff8e6;border:1px solid #f5c842;color:#7a5800;font-size:.92rem;font-weight:600;overflow-wrap:break-word;word-break:break-word}.kiosk-void-replacement-notice{display:flex;align-items:center;gap:6px;margin:6px 0 0;padding:8px 12px;border-radius:8px;background:#fff2d9;border:1px solid #f5c842;color:#7a5800;font-size:.88rem;font-weight:600;overflow-wrap:break-word;word-break:break-word}.kiosk-void-replacement-notice:before{content:"↩";flex-shrink:0}.kiosk-blocker:before{content:"⚠";font-size:1rem;flex-shrink:0}.kiosk-feedback,.kiosk-inline-feedback{margin:8px 0 0;padding:10px 12px;border-radius:10px;font-weight:600}.kiosk-inline-feedback{margin:0}.kiosk-feedback-pending,.kiosk-inline-feedback-pending{background:#fff2d9;color:#9a6900}.kiosk-feedback-success,.kiosk-inline-feedback-success{background:#e6f8ef;color:#1d7f57}.kiosk-feedback-error,.kiosk-inline-feedback-error{background:#fdebe7;color:#a24636}.kiosk-reading-list{display:flex;flex-direction:column;gap:10px;max-height:min(34vh,420px);overflow:auto;padding-right:4px}.kiosk-page-loading,.kiosk-loading-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:36px 24px;border-radius:24px;background:linear-gradient(135deg,#f5fbff,#f9fff9);border:1px solid rgba(76,125,149,.16);text-align:center}.kiosk-page-loading{min-height:320px;box-shadow:0 18px 32px #2d3f3a14}.kiosk-page-loading h2{margin:0;font-size:1.4rem;color:#19303a}.kiosk-page-loading p,.kiosk-loading-block p{margin:0;color:#5d747d;font-weight:600}.kiosk-loading-spinner{width:42px;height:42px;border-radius:999px;border:4px solid rgba(34,94,117,.14);border-top-color:#1f6b87;animation:kiosk-spin .9s linear infinite}@keyframes kiosk-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.kiosk-hero,.kiosk-confirm-panel{grid-template-columns:1fr;display:grid}}@media(max-width:1144px){.kiosk-confirm-panel{grid-template-columns:1fr;display:grid}}@media(max-width:360px){.kiosk-hero{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media(max-width:1180px){.tpn-bookings-stats{grid-template-columns:repeat(4,minmax(120px,1fr))}.kiosk-hero-side{align-items:stretch}.kiosk-hero-nav-row,.kiosk-hero-meta-row{flex-wrap:wrap}.kiosk-hero-trailing{margin-left:0}}@media(max-width:760px){.kiosk-page{padding:12px}.kiosk-hero,.kiosk-card{padding:14px}.kiosk-hero-register-row{flex-direction:column;align-items:stretch}.kiosk-info-row{flex-direction:column;align-items:stretch;gap:8px}.kiosk-grid{grid-template-columns:1fr}.kiosk-info-divider{display:none}.kiosk-info-field select,.kiosk-info-field input:not(.kiosk-toggle-input){flex:1}.kiosk-reading-grid,.kiosk-meta-grid,.kiosk-actions,.kiosk-request-load-form-grid{grid-template-columns:1fr;display:grid}.kiosk-hero-select-field{grid-template-columns:1fr}.kiosk-hero-select-field span{margin-bottom:8px}.kiosk-register-top,.kiosk-request-top,.kiosk-attempt-top,.kiosk-reading-top{flex-direction:column;align-items:flex-start}.kiosk-request-top-pills{justify-content:flex-start}}.weighing-requests-page{display:flex;flex-direction:column;gap:24px;padding:24px;color:#182329}.weighing-requests-hero{display:flex;justify-content:space-between;gap:22px;padding:28px;border-radius:28px;background:radial-gradient(circle at top left,rgba(94,177,255,.18),transparent 34%),linear-gradient(135deg,#f2f8fd,#eefbf5 52%,#fff6e8);box-shadow:0 20px 40px #2c42571f}.weighing-requests-eyebrow{margin:0 0 8px;color:#466a7d;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.weighing-requests-hero h1{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.02}.weighing-requests-subtitle{max-width:820px;margin:14px 0 0;color:#4c6670;font-size:1rem;line-height:1.6}.weighing-requests-hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.weighing-requests-summary{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px}.weighing-requests-summary div{display:flex;flex-direction:column;align-items:center;min-width:110px;padding:14px 16px;border-radius:20px;background:#ffffffb8;color:#28424a}.weighing-requests-summary strong{font-size:1.55rem}.weighing-requests-summary span{margin-top:6px;color:#556c65;font-size:.9rem}.weighing-requests-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.2fr);gap:20px}.weighing-requests-stack{display:flex;flex-direction:column;gap:20px}.weighing-requests-card{background:#fff;border:1px solid rgba(105,130,126,.18);border-radius:24px;padding:24px;box-shadow:0 18px 32px #2d3f3a14}.weighing-requests-card-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.weighing-requests-card-header h2{margin:0;font-size:1.28rem}.weighing-requests-card-header p{margin:6px 0 0;color:#617981;font-size:.95rem}.weighing-requests-rule{margin-bottom:18px;padding:16px 18px;border-radius:18px;background:#f5fafc;border:1px solid rgba(96,128,150,.18);color:#58707a;font-size:.92rem;font-weight:700;line-height:1.55}.weighing-requests-field{display:block;margin-bottom:16px}.weighing-requests-field span{display:block;margin-bottom:8px;font-weight:700;color:#314851}.weighing-requests-field input,.weighing-requests-field select{width:100%;min-height:46px;border:1px solid rgba(95,123,133,.24);border-radius:14px;background:#fff;color:#182329;padding:0 14px;transition:border-color .2s ease,box-shadow .2s ease}.weighing-requests-field input:focus,.weighing-requests-field select:focus{outline:none;border-color:#5b8391;box-shadow:0 0 0 4px #316f881f}.weighing-requests-actions,.weighing-requests-item-actions{display:flex;gap:10px;flex-wrap:wrap}.weighing-requests-item-actions{margin-top:16px}.weighing-requests-primary-btn,.weighing-requests-secondary-btn,.weighing-requests-danger-btn{min-height:44px;border-radius:999px;padding:0 18px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;text-decoration:none}.weighing-requests-primary-btn{border:0;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;box-shadow:0 14px 24px #29856a38}.weighing-requests-primary-btn:hover,.weighing-requests-secondary-btn:hover,.weighing-requests-danger-btn:hover{transform:translateY(-1px)}.weighing-requests-primary-btn:disabled,.weighing-requests-danger-btn:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}.weighing-requests-secondary-btn{border:1px solid rgba(80,109,120,.22);background:#ffffffd6;color:#28424a}.weighing-requests-danger-btn{border:1px solid rgba(162,70,54,.24);background:#fdebe7;color:#a24636}.weighing-requests-feedback{margin:12px 0 0;padding:12px 14px;border-radius:14px;font-size:.95rem;font-weight:600}.weighing-requests-feedback-pending{background:#fff2d9;color:#9a6900}.weighing-requests-feedback-success{background:#e6f8ef;color:#1d7f57}.weighing-requests-feedback-error{background:#fdebe7;color:#a24636}.weighing-requests-empty{border:1px dashed rgba(100,129,126,.26);border-radius:18px;padding:18px;background:#f8fbfb}.weighing-requests-empty strong{display:block}.weighing-requests-empty p{margin:8px 0 0;color:#617981}.weighing-requests-register-list,.weighing-requests-list{display:flex;flex-direction:column;gap:14px}.weighing-requests-register-card,.weighing-requests-item{padding:18px;border-radius:20px;background:#f8fbff;border:1px solid rgba(111,145,173,.16)}.weighing-requests-register-card-blocked{background:#fff7f4;border-color:#ad76652e}.weighing-requests-register-top,.weighing-requests-item-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px}.weighing-requests-register-top h3,.weighing-requests-item-top h3{margin:0;font-size:1.08rem}.weighing-requests-register-top p,.weighing-requests-item-top p{margin:5px 0 0;color:#667f87;font-size:.92rem}.weighing-requests-pill,.weighing-requests-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:800;white-space:nowrap}.weighing-requests-pill-ready,.weighing-requests-status-created,.weighing-requests-status-displayed{background:#e6f8ef;color:#1d7f57}.weighing-requests-status-inprogress,.weighing-requests-status-awaitingconfirmation{background:#fff2d9;color:#9a6900}.weighing-requests-status-completed{background:#e9f1ff;color:#335eab}.weighing-requests-status-issue,.weighing-requests-status-cancelled,.weighing-requests-pill-blocked{background:#fdebe7;color:#a24636}.weighing-requests-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0}.weighing-requests-meta-grid div{min-width:0}.weighing-requests-meta-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#779089}.weighing-requests-meta-grid dd{margin:4px 0 0;color:#263732;line-height:1.45;overflow-wrap:anywhere}.weighing-requests-blockers{margin:0;padding-left:18px;color:#73483f;line-height:1.55;font-weight:700}@media(max-width:1100px){.weighing-requests-hero,.weighing-requests-grid{grid-template-columns:1fr;display:grid}.weighing-requests-hero-side{align-items:stretch}}@media(max-width:720px){.weighing-requests-page{padding:16px}.weighing-requests-hero,.weighing-requests-card{padding:20px}.weighing-requests-summary,.weighing-requests-meta-grid{grid-template-columns:1fr}.weighing-requests-register-top,.weighing-requests-item-top{flex-direction:column;align-items:flex-start}}.pallet-page{display:flex;flex-direction:column;gap:14px;min-height:100vh;padding:16px;box-sizing:border-box;color:#182329}.pallet-hero{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:14px;background:radial-gradient(circle at top left,rgba(94,177,255,.18),transparent 34%),linear-gradient(135deg,#f2f8fd,#eefbf5 52%,#fff6e8);box-shadow:0 20px 40px #2c42571f}.pallet-hero-side{display:flex;align-items:flex-end;justify-content:flex-end;flex:0 0 auto}.kiosk-hero-nav-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%}.kiosk-hero-meta-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:12px;width:100%;max-width:100%}.kiosk-hero-meta-row>*{flex:0 0 auto}.kiosk-hero-trailing{display:inline-flex;align-items:center;gap:12px;margin-left:auto}.pallet-eyebrow{margin:0 0 4px;color:#466a7d;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.pallet-hero h1{margin:0;font-size:clamp(1.45rem,2vw,2.2rem);line-height:1.08}.pallet-subtitle{display:-webkit-box;overflow:hidden;max-width:820px;margin:8px 0 0;color:#4c6670;font-size:.95rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pallet-grid{display:grid;grid-template-columns:minmax(300px,380px) minmax(520px,1fr);gap:14px;align-items:start;min-height:0}.pallet-form-stack{display:flex;flex-direction:column;gap:14px;min-width:0}.pallet-bulk-card{padding:16px}.pallet-section-divider{border:none;border-top:1px solid rgba(105,130,126,.18);margin:16px 0}.pallet-loading-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:240px;padding:24px 18px;border-radius:12px;background:#fff;border:1px solid rgba(105,130,126,.18);box-shadow:0 18px 32px #2d3f3a14;text-align:center}.pallet-loading-block p{margin:0;color:#617981;font-size:.98rem;font-weight:700}.pallet-loading-spinner{width:42px;height:42px;border:4px solid rgba(29,111,90,.16);border-top-color:#1d6f5a;border-radius:50%;animation:pallet-spin .9s linear infinite}.pallet-card{background:#fff;border:1px solid rgba(105,130,126,.18);border-radius:12px;box-shadow:0 18px 32px #2d3f3a14}.pallet-form-card,.pallet-preview-card,.pallet-list-card{padding:16px}.pallet-form-card{max-height:calc(100vh - 176px);overflow:auto}.pallet-list-card{display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 176px)}.pallet-card-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.pallet-card-header h2{margin:0;font-size:1.12rem}.pallet-card-header p{margin:4px 0 0;color:#617981;font-size:.9rem}.pallet-edit-code{display:inline-flex;align-items:center;min-height:28px;margin:0 0 8px;border-radius:999px;background:#edf4f8;color:#335e6b;padding:0 12px;font-size:.9rem;font-weight:800}.pallet-modal-backdrop{position:fixed;top:0;right:0;bottom:auto;left:0;z-index:80;display:flex;align-items:center;justify-content:center;height:100dvh;min-height:100vh;padding:18px;box-sizing:border-box;overflow-y:auto;background:#0f172a7a}.pallet-edit-modal{width:min(560px,100%);max-height:min(86vh,720px);box-sizing:border-box;overflow:auto;padding:18px}.pallet-modal-close{width:34px;height:34px;flex:0 0 auto;border:1px solid rgba(80,109,120,.22);border-radius:999px;background:#ffffffd6;color:#28424a;font:inherit;font-weight:900;cursor:pointer}.pallet-modal-actions{justify-content:flex-end}.pallet-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pallet-field{display:block;margin-bottom:12px}.pallet-filter-field{display:block;margin-bottom:10px}.pallet-list-toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.pallet-list-toolbar .pallet-filter-field{flex:1 1 auto;margin-bottom:0}.pallet-field span,.pallet-filter-field span{display:block;margin-bottom:5px;font-weight:700;color:#314851}.pallet-field input,.pallet-field select,.pallet-field textarea,.pallet-filter-field input{width:100%;min-height:40px;border:1px solid rgba(95,123,133,.24);border-radius:10px;background:#fff;color:#182329;padding:0 14px;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}.pallet-field textarea{min-height:76px;padding:10px 12px}.pallet-field input:focus,.pallet-field select:focus,.pallet-field textarea:focus,.pallet-filter-field input:focus{outline:none;border-color:#5b8391;box-shadow:0 0 0 4px #316f881f}.pallet-actions{display:flex;gap:10px;flex-wrap:wrap}.pallet-primary-btn,.pallet-secondary-btn,.pallet-download-link{min-height:38px;border-radius:999px;padding:0 14px;font-weight:800;text-decoration:none;cursor:pointer}.pallet-primary-btn{border:0;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;box-shadow:0 14px 24px #29856a38}.pallet-secondary-btn{border:1px solid rgba(80,109,120,.22);background:#ffffffd6;color:#28424a}.pallet-secondary-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.pallet-download-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(80,109,120,.22);background:#ffffffd6;color:#28424a}.pallet-export-btn{flex:0 0 auto;white-space:nowrap}.pallet-feedback{margin:8px 0 0;padding:10px 12px;border-radius:10px;font-size:.95rem;font-weight:600}.pallet-feedback-pending{background:#fff2d9;color:#9a6900}.pallet-feedback-success{background:#e6f8ef;color:#1d7f57}.pallet-feedback-error{background:#fdebe7;color:#a24636}.pallet-empty{border:1px dashed rgba(100,129,126,.26);border-radius:12px;padding:14px;background:#f8fbfb}.pallet-empty strong{display:block}.pallet-empty p{margin:8px 0 0;color:#617981}.pallet-item-image{width:100%;border-radius:8px;border:1px solid rgba(111,145,173,.16);background:#fff}.pallet-item-content h3{margin:5px 0 0;font-size:.98rem}.pallet-code-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;background:#edf4f8;color:#335e6b;font-size:.76rem;font-weight:800;white-space:nowrap}.pallet-status-pill{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:800;white-space:nowrap}.pallet-status-active{background:#e6f8ef;color:#1d7f57}.pallet-status-inactive{background:#fdebe7;color:#a24636}.pallet-filter-summary{margin:0 0 10px;color:#617981;font-size:.92rem}.pallet-list{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:none;overflow:auto;padding-right:4px}.pallet-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;padding:9px;border-radius:10px;background:#f8fbff;border:1px solid rgba(111,145,173,.16);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.pallet-item:hover{transform:translateY(-1px);border-color:#4e799657}.pallet-item-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.pallet-item-top a{align-self:flex-start}.pallet-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.pallet-item-actions .pallet-secondary-btn,.pallet-item-actions .pallet-download-link{min-height:28px;padding:0 8px;font-size:.74rem;white-space:nowrap}.pallet-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px 10px;margin:0}.pallet-meta-grid div{min-width:0}.pallet-meta-grid dt{color:#7a9198;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.pallet-meta-grid dd{margin:0;font-size:.84rem;font-weight:600;color:#22323a;line-height:1.25;overflow-wrap:anywhere}.pallet-weight-value{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}.pallet-meta-full{grid-column:span 3}.pallet-meta-full dd{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@keyframes pallet-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.pallet-hero,.pallet-grid{grid-template-columns:1fr;display:grid}.pallet-hero-side{justify-content:flex-end}.kiosk-hero-nav-row,.kiosk-hero-meta-row{flex-wrap:wrap}.kiosk-hero-trailing{margin-left:0}}@media(max-width:760px){.pallet-page{padding:12px}.pallet-hero,.pallet-form-card,.pallet-bulk-card,.pallet-list-card{padding:14px;max-height:none}.pallet-list-toolbar{display:grid}.pallet-form-row,.pallet-meta-grid{grid-template-columns:1fr;display:grid}.pallet-actions{display:grid;grid-template-columns:1fr}.pallet-modal-backdrop{align-items:center;padding:12px}.pallet-edit-modal{padding:14px;max-height:calc(100dvh - 24px)}.pallet-item{grid-template-columns:56px minmax(0,1fr)}.pallet-item-top{flex-direction:column;align-items:flex-start}.pallet-item-actions{justify-content:flex-start}}.tpn-bookings-page{display:flex;flex-direction:column;gap:12px;min-height:100vh;padding:16px;box-sizing:border-box;color:#182329}.tpn-bookings-hero{align-items:flex-start}.tpn-bookings-source{margin-top:6px}.tpn-bookings-hero-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.tpn-bookings-hero-metrics span{display:inline-flex;min-height:36px;align-items:center;border:1px solid rgba(86,129,145,.2);border-radius:999px;padding:0 14px;background:#ffffffc7;color:#28424a;font-size:.86rem;font-weight:800}.tpn-bookings-refresh:disabled{cursor:not-allowed;opacity:.62}.tpn-bookings-stats{display:grid;grid-template-columns:repeat(8,minmax(112px,1fr));gap:12px}.tpn-bookings-stat{min-height:88px;border:1px solid rgba(111,145,173,.16);border-radius:20px;padding:16px;background:#f8fbff;box-shadow:0 12px 22px #2d3f3a0d}.tpn-bookings-stat span{display:block;color:#6a828a;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tpn-bookings-stat strong{display:block;margin-top:9px;color:#15232a;font-size:1.24rem;line-height:1.1}.tpn-bookings-controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,auto) auto;gap:10px;align-items:end;padding:14px}.tpn-bookings-search{display:flex;align-items:center;gap:10px;min-width:0;min-height:40px;border:1px solid rgba(95,123,133,.24);border-radius:999px;padding:0 14px;background:#fff;color:#647587}.tpn-bookings-search input{width:100%;min-width:0;min-height:38px;border:0;outline:0;color:#182329;background:transparent;font:inherit}.tpn-bookings-date-filter{display:flex;flex-direction:column;gap:5px}.tpn-bookings-date-filter>label{color:#314851;font-size:.82rem;font-weight:800}.tpn-bookings-date-input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;border:1px solid rgba(95,123,133,.24);border-radius:999px;padding:0 8px 0 14px;background:#fff;color:#647587}.tpn-bookings-date-input input{width:100%;min-width:138px;border:0;outline:0;color:#182329;background:transparent;font:inherit}.tpn-bookings-clear-date{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid rgba(80,109,120,.18);border-radius:999px;background:#f8fbff;color:#617981;cursor:pointer}.tpn-bookings-status-tabs{display:inline-flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end}.tpn-bookings-status-tabs button{min-height:38px;border:1px solid rgba(80,109,120,.22);border-radius:999px;padding:0 14px;background:#ffffffd6;color:#516274;font:inherit;font-weight:800;cursor:pointer}.tpn-bookings-status-tabs button.active{border-color:transparent;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;box-shadow:0 12px 20px #29856a2e}.tpn-bookings-alert{border:1px solid rgba(162,70,54,.24);border-radius:18px;padding:14px 16px;background:#fdebe7;color:#a24636;font-weight:800}.tpn-bookings-results{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding:0}.tpn-bookings-result-count{padding:12px 16px;border-bottom:1px solid rgba(105,130,126,.16);color:#617981;font-size:.9rem;font-weight:800}.tpn-bookings-table-wrap{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 236px)}.tpn-bookings-table{width:100%;min-width:1080px;border-collapse:collapse}.tpn-bookings-table th,.tpn-bookings-table td{padding:10px 12px;border-bottom:1px solid rgba(105,130,126,.12);text-align:left;vertical-align:top}.tpn-bookings-table th{position:sticky;top:0;z-index:2;background:#f6fafc;color:#617981;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.tpn-bookings-table tbody tr:hover{background:#fbfefd}.tpn-bookings-primary,.tpn-bookings-location,.tpn-bookings-schedule,.tpn-bookings-totals{display:flex;flex-direction:column;gap:4px}.tpn-bookings-primary strong,.tpn-bookings-location strong{color:#15232a;font-weight:900}.tpn-bookings-primary span,.tpn-bookings-location span,.tpn-bookings-schedule span,.tpn-bookings-totals span,.tpn-bookings-muted{display:inline-flex;gap:5px;align-items:center;color:#647587;font-size:.86rem;line-height:1.35}.tpn-bookings-location{max-width:220px}.tpn-bookings-location span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tpn-bookings-products{display:flex;flex-direction:column;gap:6px;min-width:220px}.tpn-bookings-product-line{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:8px;border:1px solid rgba(111,145,173,.16);border-radius:10px;padding:9px;background:#f8fbff}.tpn-bookings-product-line strong{display:block;color:#162239;font-size:.92rem}.tpn-bookings-product-line span{color:#657789;font-size:.82rem}.tpn-bookings-product-metrics{display:flex;flex-direction:column;gap:4px;text-align:right;white-space:nowrap}.tpn-bookings-totals strong{color:#1d7f57;font-size:1rem}.tpn-bookings-car-card{display:flex;flex-direction:column;gap:8px;min-width:210px;border:1px solid rgba(111,145,173,.16);border-radius:10px;padding:9px;background:#f8fbff}.tpn-bookings-car-card.manual{background:#fff9ec;border-color:#c2882142}.tpn-bookings-car-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tpn-bookings-car-plate{display:inline-flex;align-items:center;gap:6px;color:#12233a;font-size:.94rem;font-weight:900}.tpn-bookings-car-state{display:inline-flex;justify-content:center;min-width:58px;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:900;text-transform:uppercase}.tpn-bookings-car-state.active{background:#e6f8ef;color:#1d7f57}.tpn-bookings-car-state.inactive{background:#fdebe7;color:#a24636}.tpn-bookings-car-state.manual{background:#fff2d9;color:#9a6900}.tpn-bookings-car-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0}.tpn-bookings-car-details div{min-width:0}.tpn-bookings-car-details dt{color:#7a9198;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tpn-bookings-car-details dd{overflow:hidden;margin:3px 0 0;color:#24344a;font-size:.82rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.tpn-bookings-car-empty{display:inline-flex;flex-direction:column;gap:5px;min-width:150px;border:1px dashed rgba(100,129,126,.32);border-radius:10px;padding:9px;color:#647587;background:#f8fbff;font-size:.86rem;font-weight:800}.tpn-bookings-car-empty svg{color:#94a3b8}.tpn-bookings-car-empty small{color:#788899;font-size:.78rem;font-weight:700}.tpn-bookings-status{display:inline-flex;min-width:86px;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900}.tpn-bookings-status.status-1{background:#fff2d9;color:#9a6900}.tpn-bookings-status.status-2{background:#e6f8ef;color:#1d7f57}.tpn-bookings-status.status-3{background:#fdebe7;color:#a24636}.tpn-bookings-actions{display:flex;flex-direction:column;gap:6px;min-width:116px}.tpn-bookings-create-load{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:0;border-radius:999px;padding:0 14px;background:linear-gradient(135deg,#1d6f5a,#29856a);color:#fff;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;white-space:nowrap}.tpn-bookings-create-load:disabled{cursor:not-allowed;opacity:.6}.tpn-bookings-load-created{font-size:.78rem;color:#1d7f57;font-weight:700}.tpn-bookings-load-card{display:flex;flex-direction:column;gap:5px;min-width:140px;border:1px solid rgba(47,94,150,.22);border-radius:10px;padding:8px 10px;background:#eef5ff;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,transform .15s}.tpn-bookings-load-card:hover{border-color:#2f5e965c;background:#e7f0ff;transform:translateY(-1px)}.tpn-bookings-load-card-id{overflow:hidden;max-width:150px;color:#2f5e96;font-size:.76rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tpn-bookings-load-progress-row{display:grid;grid-template-columns:auto minmax(58px,1fr);gap:8px;align-items:center}.tpn-bookings-load-progress-row strong{color:#1d7f57;font-size:.9rem;font-weight:900;line-height:1}.tpn-bookings-load-progress{overflow:hidden;height:8px;border-radius:999px;background:#2f5e9624}.tpn-bookings-load-progress span{display:block;width:var(--load-progress, 0%);height:100%;border-radius:inherit;background:linear-gradient(135deg,#1d6f5a,#29856a)}.tpn-bookings-load-card.over .tpn-bookings-load-progress-row strong{color:#a24636}.tpn-bookings-load-card.over .tpn-bookings-load-progress span{background:#a24636}.tpn-bookings-load-card.completed{background:#f0f5f1;border-color:#3c785033;opacity:.72}.tpn-bookings-load-card.completed .tpn-bookings-load-card-id,.tpn-bookings-load-card.completed .tpn-bookings-load-progress-row strong{color:#4a7a5a}.tpn-bookings-load-card.completed .tpn-bookings-load-progress span{background:#7aab88}.tpn-bookings-load-card.completed .tpn-bookings-load-card-stats{color:#6a8a72}.tpn-bookings-load-card.cancelled{background:#f4f4f4;border-color:#6464642e;opacity:.55}.tpn-bookings-load-card.cancelled .tpn-bookings-load-card-id{color:#888;text-decoration:line-through}.tpn-bookings-load-card.cancelled .tpn-bookings-load-progress-row strong{color:#888}.tpn-bookings-load-card.cancelled .tpn-bookings-load-progress{background:#6464641a}.tpn-bookings-load-card.cancelled .tpn-bookings-load-progress span{background:#aaa}.tpn-bookings-load-card.cancelled .tpn-bookings-load-card-stats{color:#999}.tpn-bookings-load-card-stats{display:flex;gap:8px;color:#426b9d;font-size:.72rem;font-weight:700}.tpn-bookings-load-error{max-width:150px;color:#a24636;font-size:.75rem;word-break:break-word}.tpn-bookings-empty{padding:42px 16px;color:#647587;font-weight:800;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1180px){.tpn-bookings-stats{grid-template-columns:repeat(4,minmax(120px,1fr))}.tpn-bookings-controls{grid-template-columns:1fr 220px}.tpn-bookings-status-tabs{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:820px){.tpn-bookings-page{padding:12px;gap:12px}.tpn-bookings-hero{gap:14px;padding:14px;border-radius:14px}.tpn-bookings-hero .kiosk-hero-side{width:100%}.tpn-bookings-hero .kiosk-hero-meta-row{width:100%;justify-content:flex-end}.tpn-bookings-hero .kiosk-hero-meta-row .tpn-bookings-refresh{width:auto}.tpn-bookings-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tpn-bookings-controls{grid-template-columns:1fr;padding:14px;border-radius:14px}.tpn-bookings-status-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tpn-bookings-status-tabs button{width:100%}.tpn-bookings-date-input input{min-width:0}.tpn-bookings-results{border-radius:14px}.tpn-bookings-result-count{padding:12px 14px}.tpn-bookings-table-wrap{overflow:visible;max-height:none}.tpn-bookings-table{min-width:0}.tpn-bookings-table,.tpn-bookings-table tbody,.tpn-bookings-table tr,.tpn-bookings-table td{display:block;width:100%}.tpn-bookings-table thead{display:none}.tpn-bookings-table tbody{padding:10px;background:#f6fafc}.tpn-bookings-table tbody tr{overflow:hidden;border:1px solid rgba(111,145,173,.16);border-radius:12px;background:#fff;box-shadow:0 12px 22px #2d3f3a0d}.tpn-bookings-table tbody tr+tr{margin-top:12px}.tpn-bookings-table th,.tpn-bookings-table td{border-bottom:0}.tpn-bookings-table td{display:grid;grid-template-columns:minmax(88px,.35fr) minmax(0,1fr);gap:12px;align-items:start;padding:10px 12px}.tpn-bookings-table td+td{border-top:1px solid rgba(105,130,126,.1)}.tpn-bookings-table td:before{content:attr(data-label);color:#7a9198;font-size:.7rem;font-weight:900;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.tpn-bookings-table td[data-label=Products],.tpn-bookings-table td[data-label=Transport],.tpn-bookings-table td[data-label=Actions]{grid-template-columns:1fr}.tpn-bookings-table td[data-label=Products]:before,.tpn-bookings-table td[data-label=Transport]:before,.tpn-bookings-table td[data-label=Actions]:before{margin-bottom:2px}.tpn-bookings-table td.tpn-bookings-empty{display:block;padding:32px 16px}.tpn-bookings-table td.tpn-bookings-empty:before{content:none}.tpn-bookings-location,.tpn-bookings-products,.tpn-bookings-car-card,.tpn-bookings-car-empty,.tpn-bookings-actions,.tpn-bookings-load-card{width:100%;min-width:0;max-width:none}.tpn-bookings-location span{display:inline-flex;overflow:visible;-webkit-line-clamp:initial}.tpn-bookings-create-load{width:100%}}@media(max-width:560px){.tpn-bookings-stats{grid-template-columns:1fr}.tpn-bookings-page{padding:10px}.tpn-bookings-hero,.tpn-bookings-controls{padding:12px;border-radius:12px}.tpn-bookings-hero h1{font-size:2rem}.tpn-bookings-source{font-size:.9rem}.tpn-bookings-status-tabs{grid-template-columns:1fr}.tpn-bookings-search,.tpn-bookings-date-input{border-radius:16px}.tpn-bookings-search{align-items:flex-start;padding-top:10px;padding-bottom:10px}.tpn-bookings-search input{min-height:28px}.tpn-bookings-table tbody{padding:10px}.tpn-bookings-table td{grid-template-columns:1fr;gap:7px;padding:12px}.tpn-bookings-product-line{grid-template-columns:1fr;border-radius:14px}.tpn-bookings-product-metrics{text-align:left;white-space:normal}.tpn-bookings-car-details{grid-template-columns:1fr}.tpn-bookings-car-details dd{white-space:normal}.tpn-bookings-load-card-stats{flex-direction:column;gap:3px}}.tpn-vehicles-page{display:flex;flex-direction:column;gap:22px;padding:24px;color:#182329}.tpn-vehicles-hero{display:flex;justify-content:space-between;gap:22px;padding:28px;border-radius:24px;background:radial-gradient(circle at top left,rgba(59,130,246,.16),transparent 34%),linear-gradient(135deg,#f3f8ff,#effaf4 56%,#fff8eb);box-shadow:0 20px 40px #2c42571f}.tpn-vehicles-eyebrow{margin:0 0 8px;color:#466a7d;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tpn-vehicles-hero h1{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.02}.tpn-vehicles-subtitle{max-width:760px;margin:14px 0 0;color:#4c6670;font-size:1rem;line-height:1.6}.tpn-vehicles-summary{display:flex;align-items:flex-start;gap:14px}.tpn-vehicles-badge{display:flex;flex-direction:column;align-items:center;min-width:112px;padding:14px 16px;border-radius:18px;background:#ffffffc2;color:#28424a}.tpn-vehicles-badge strong{font-size:1.55rem}.tpn-vehicles-badge span{margin-top:6px;color:#556c65;font-size:.9rem}.tpn-vehicles-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;border:1px solid rgba(105,130,126,.18);border-radius:18px;background:#fff;box-shadow:0 14px 28px #2d3f3a12}.tpn-vehicles-toolbar div{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}.tpn-vehicles-source-label{color:#6b7f86;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tpn-vehicles-toolbar strong{color:#172b34}.tpn-vehicles-toolbar span:last-child{color:#697f86;font-size:.92rem}.tpn-vehicles-toolbar button{min-height:42px;border:0;border-radius:12px;padding:0 18px;background:#1d6f5a;color:#fff;font-weight:900;cursor:pointer}.tpn-vehicles-toolbar button:disabled{cursor:not-allowed;opacity:.64}.tpn-vehicles-alert{padding:16px 18px;border:1px solid #fecaca;border-radius:16px;background:#fff1f2;color:#9f1239;font-weight:800}.tpn-vehicles-card{overflow:hidden;border:1px solid rgba(105,130,126,.18);border-radius:22px;background:#fff;box-shadow:0 18px 32px #2d3f3a14}.tpn-vehicles-table-wrap{overflow-x:auto}.tpn-vehicles-table{width:100%;border-collapse:collapse;min-width:820px}.tpn-vehicles-table th,.tpn-vehicles-table td{padding:16px 18px;text-align:left;border-bottom:1px solid #edf2f5}.tpn-vehicles-table th{background:#f8fafc;color:#617981;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tpn-vehicles-plate{color:#162a33;font-size:1.08rem;font-weight:900}.tpn-vehicles-mono{color:#536b73;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem}.tpn-vehicles-status{display:inline-flex;min-width:74px;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900}.tpn-vehicles-status.active{background:#dcfce7;color:#166534}.tpn-vehicles-status.inactive{background:#f1f5f9;color:#64748b}.tpn-vehicles-empty{padding:42px 18px;color:#6b7f86;font-weight:800;text-align:center}@media(max-width:820px){.tpn-vehicles-page{padding:16px}.tpn-vehicles-hero,.tpn-vehicles-toolbar{flex-direction:column;align-items:stretch}.tpn-vehicles-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.user-detail-page{display:flex;flex-direction:column;gap:22px;padding:24px;color:#182329}.user-detail-hero{display:flex;justify-content:space-between;gap:22px;padding:30px;border-radius:28px;background:radial-gradient(circle at top right,rgba(249,115,22,.16),transparent 34%),radial-gradient(circle at bottom left,rgba(37,99,235,.16),transparent 28%),linear-gradient(135deg,#f9fafb,#eef7ff 48%,#fff7ed);box-shadow:0 22px 46px #2c42571f}.user-detail-hero-copy{max-width:760px}.user-detail-eyebrow{margin:0 0 8px;color:#466a7d;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.user-detail-hero h1{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.02}.user-detail-subtitle{margin:14px 0 0;color:#4c6670;font-size:1rem;line-height:1.6}.user-detail-summary-card{display:flex;flex-direction:column;align-items:center;min-width:250px;padding:22px 20px;border-radius:24px;background:#fffc;box-shadow:inset 0 0 0 1px #ffffffb3;text-align:center}.user-detail-summary-card strong{margin-top:14px;font-size:1.2rem}.user-detail-summary-card span{margin-top:6px;color:#60747e}.user-detail-avatar-shell{width:88px;height:88px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;box-shadow:0 16px 24px #1d4ed83d}.user-detail-avatar-image{width:100%;height:100%;object-fit:cover}.user-detail-avatar-fallback{font-size:1.7rem;font-weight:900;letter-spacing:.08em}.user-detail-summary-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.user-detail-summary-badges span{margin:0;padding:7px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.78rem;font-weight:800}.user-detail-alert{padding:16px 18px;border-radius:16px;font-weight:800}.user-detail-alert.error{border:1px solid #fecaca;background:#fff1f2;color:#9f1239}.user-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.user-detail-card{display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid rgba(105,130,126,.18);border-radius:22px;background:#fff;box-shadow:0 18px 32px #2d3f3a14}.user-detail-wide-card{grid-column:1 / -1}.user-detail-card-head h2{margin:0;font-size:1.24rem}.user-detail-card-head p{margin:8px 0 0;color:#60747e;line-height:1.55}.user-detail-form{display:grid;gap:14px}.user-detail-field{display:grid;gap:7px}.user-detail-field span{color:#27404a;font-size:.88rem;font-weight:800}.user-detail-field input{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:14px;padding:0 14px;background:#fff;color:#182329;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.user-detail-field input:focus{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa2e}.user-detail-field input:disabled{background:#f8fafc;color:#7b8e97}.user-detail-actions{display:flex;justify-content:flex-end}.user-detail-actions button{min-height:44px;border:0;border-radius:12px;padding:0 18px;background:#1d6f5a;color:#fff;font-weight:900;cursor:pointer}.user-detail-actions button:disabled{opacity:.65;cursor:not-allowed}.user-detail-inline-message{padding:12px 14px;border-radius:14px;font-size:.92rem;font-weight:800}.user-detail-inline-message.success{background:#dcfce7;color:#166534}.user-detail-inline-message.error{background:#fff1f2;color:#9f1239}.user-detail-inline-message.pending{background:#eff6ff;color:#1d4ed8}.user-detail-note{margin:0;color:#5f7381;font-size:.92rem;line-height:1.55}.user-detail-definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.user-detail-definition-list div{padding:14px;border-radius:16px;background:#f8fafc}.user-detail-definition-list dt{color:#64748b;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.user-detail-definition-list dd{margin:9px 0 0;color:#162a33;font-size:.98rem;font-weight:800;word-break:break-word}.user-detail-token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.user-detail-token-grid h3{margin:0 0 12px;color:#294452;font-size:.98rem}.user-detail-chip-list{display:flex;flex-wrap:wrap;gap:8px}.user-detail-chip,.user-detail-empty-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.78rem;font-weight:800}.user-detail-chip.muted{background:#ede9fe;color:#6d28d9}.user-detail-chip.subtle{background:#e2e8f0;color:#334155}.user-detail-empty-chip{background:#f1f5f9;color:#64748b}.user-detail-pre{margin:0;padding:16px;border-radius:18px;background:#0f172a;color:#dbeafe;overflow:auto;font-size:.82rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}@media(max-width:960px){.user-detail-page{padding:16px}.user-detail-hero{flex-direction:column}.user-detail-grid,.user-detail-token-grid,.user-detail-definition-list{grid-template-columns:1fr}}.ws-page{padding:32px 20px 60px;font-family:Sarabun,sans-serif;min-height:100vh}.ws-page-header{background:linear-gradient(135deg,#e8f5e9,#f0fdf4 40%,#fefce8);border-radius:16px;padding:32px 36px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid #d1fae5;position:relative;overflow:hidden}.ws-page-header:before{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(34,197,94,.12) 0%,transparent 70%);border-radius:50%}.ws-header-text{flex:1}.ws-header-breadcrumb{font-size:12px;color:#64748b;margin-bottom:6px;font-weight:500}.ws-header-title{font-size:28px;font-weight:700;color:#1a202c;line-height:1.2;margin-bottom:10px}.ws-header-desc{font-size:13.5px;color:#64748b;line-height:1.6;max-width:480px}.ws-header-stats{display:flex;gap:12px;flex-shrink:0}.ws-stat-box{background:#fff;border-radius:10px;padding:16px 20px;text-align:center;min-width:80px;box-shadow:0 1px 3px #0000000f;border:1px solid #e2e8f0}.ws-stat-num{font-size:26px;font-weight:700;color:#1a202c;line-height:1;margin-bottom:4px}.ws-stat-label{font-size:11px;color:#64748b;font-weight:500}.ws-cards-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1400px;margin:0 auto}.ws-card{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000012,0 1px 3px #0000000d;border:1px solid #e2e8f0;overflow:hidden}.ws-card-header{padding:22px 28px;border-bottom:1px solid #f0f4f8;display:flex;align-items:center;gap:12px}.ws-card-icon{width:40px;height:40px;background:#f0fdf4;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.ws-card-title{font-size:15px;font-weight:600;color:#1a202c}.ws-card-subtitle{font-size:12px;color:#64748b;margin-top:2px}.ws-flow-strip{background:#f4f6f9;border-bottom:1px solid #e2e8f0;padding:14px 28px;display:flex;align-items:center;gap:0}.ws-flow-node{display:flex;align-items:center;gap:8px;flex:1}.ws-flow-pill{font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:20px}.ws-flow-pill.get{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.ws-flow-pill.post{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.ws-flow-pill.mid{background:#fff7ed;color:#f97316;border:1px solid #fed7aa}.ws-flow-node-label{font-size:11px;color:#64748b;font-weight:500}.ws-flow-sep{color:#e2e8f0;font-size:18px;padding:0 8px;flex-shrink:0}.ws-fields-wrap{padding:24px 28px;display:flex;flex-direction:column;gap:16px;border-bottom:1px solid #f0f4f8}.ws-field-group{display:flex;flex-direction:column;gap:6px}.ws-full{grid-column:1 / -1}.ws-field-label{font-size:12px;font-weight:600;color:#1a202c;display:flex;align-items:center;gap:7px}.ws-field-tag{font-size:10px;font-weight:600;padding:1px 7px;border-radius:20px;letter-spacing:.03em}.ws-query{background:#fff7ed;color:#f97316;border:1px solid #fed7aa}.ws-header{background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe}.ws-body{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.ws-fields-wrap input[type=text]{background:#fafbfc;border:1.5px solid #e2e8f0;border-radius:6px;color:#1a202c;font-family:Sarabun,sans-serif;font-size:13px;padding:9px 13px;outline:none;width:100%;transition:border-color .18s,box-shadow .18s,background .18s}.ws-fields-wrap input[type=text]:focus{border-color:#22c55e;background:#fff;box-shadow:0 0 0 3px #22c55e1f}.ws-fields-wrap input[type=text]::placeholder{color:#94a3b8}.ws-btn-wrap{padding:20px 28px;border-bottom:1px solid #f0f4f8}.ws-submit-btn{width:100%;font-family:Sarabun,sans-serif;font-size:14px;font-weight:600;padding:13px 24px;background:#22c55e;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #22c55e4d}.ws-submit-btn:hover:not(:disabled){background:#16a34a;box-shadow:0 4px 14px #22c55e59;transform:translateY(-1px)}.ws-submit-btn:active:not(:disabled){transform:translateY(0)}.ws-submit-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ws-btn-icon{font-size:15px}.ws-log-wrap{padding:20px 28px 28px}.ws-log-empty{text-align:center;padding:28px 0;color:#94a3b8;font-size:13px}.ws-log-empty-icon{font-size:28px;margin-bottom:8px}.ws-spinner-row{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;font-size:13px;color:#1d4ed8;margin-bottom:12px}.ws-spinner{width:14px;height:14px;border:2px solid #bfdbfe;border-top-color:#3b82f6;border-radius:50%;animation:ws-spin .6s linear infinite;flex-shrink:0}@keyframes ws-spin{to{transform:rotate(360deg)}}.ws-step-item{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:12px;animation:ws-slide-in .3s ease both;box-shadow:0 1px 3px #0000000f}@keyframes ws-slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ws-step-header{display:flex;align-items:center;gap:10px;padding:11px 16px;background:#fafbfc;border-bottom:1px solid #f0f4f8}.ws-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.ws-status-dot.ok{background:#22c55e;box-shadow:0 0 5px #22c55e80}.ws-status-dot.warn{background:#eab308;box-shadow:0 0 5px #eab30880}.ws-step-num{font-size:10px;font-weight:700;color:#94a3b8;letter-spacing:.08em;background:#f0f4f8;padding:2px 7px;border-radius:20px}.ws-step-method{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px}.ws-step-method.get{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.ws-step-method.post{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.ws-step-endpoint{font-size:11px;color:#64748b;flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-step-status{font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;flex-shrink:0}.ws-step-status.ok{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.ws-step-status.err{background:#fefce8;color:#92400e;border:1px solid #fde68a}.ws-step-body{max-height:180px;overflow-y:auto;background:#fafbfc}.ws-step-body pre{padding:12px 16px;font-family:IBM Plex Mono,Courier New,monospace;font-size:11px;line-height:1.7;color:#64748b;white-space:pre-wrap;word-break:break-all;margin:0}.ws-step-body::-webkit-scrollbar{width:4px}.ws-step-body::-webkit-scrollbar-track{background:transparent}.ws-step-body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.ws-success-banner{display:flex;align-items:center;gap:8px;padding:13px 18px;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:10px;font-size:13px;font-weight:600;color:#15803d;animation:ws-slide-in .3s ease both}.ws-error-banner{display:flex;align-items:center;gap:8px;padding:13px 18px;background:#fefce8;border:1.5px solid #fde68a;border-radius:10px;font-size:13px;font-weight:600;color:#92400e;animation:ws-slide-in .3s ease both}@media(max-width:900px){.ws-cards-container{grid-template-columns:1fr}}@media(max-width:560px){.ws-page-header{flex-direction:column}.ws-header-stats{width:100%;justify-content:flex-start}.ws-header-title{font-size:22px}}:root{--bg: #f3f6fb;--page-background: radial-gradient(circle at top left, #ffffff 0%, #f3f6fb 40%, #eef2f7 100%);--panel: #ffffff;--panel-soft: #f8fafc;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--primary: #2563eb;--primary-soft: #dbeafe;--shadow: 0 12px 30px rgba(15, 23, 42, .08);--radius-xl: 22px;--radius-lg: 16px;--radius-md: 12px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--page-background);color:var(--text)}body{padding:20px}button,input,textarea,select{font:inherit}.app-shell{max-width:1380px;margin:0 auto}.calendar-shell{background:#ffffffdb;border:1px solid rgba(226,232,240,.9);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:760px}.calendar-main{border-right:1px solid var(--border);background:linear-gradient(to bottom,#fff,#fbfdff)}.calendar-sidebar{background:linear-gradient(to bottom,#fcfdff,#f8fafc)}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 24px 18px;border-bottom:1px solid var(--border)}.calendar-title-wrap h2{margin:0;font-size:2rem;line-height:1.1;letter-spacing:-.03em}.calendar-subtitle{margin-top:6px;color:var(--muted);font-size:.95rem}.toolbar{display:flex;flex-wrap:wrap;gap:10px}.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;height:40px;padding:0 14px;cursor:pointer;transition:.18s ease;box-shadow:0 2px 10px #0f172a08}.btn:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 8px 18px #0f172a12}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;color:#fff;font-weight:600}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid var(--border)}.weekday{text-align:center;padding:14px 8px;font-size:.78rem;font-weight:700;color:#475569;letter-spacing:.06em;text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.day-cell,.empty-cell{min-height:132px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.empty-cell{background:#f8fafc}.day-cell{position:relative;padding:10px;background:#fff;transition:background .18s ease,box-shadow .18s ease}.day-cell:hover{background:#fbfdff}.day-cell.active{background:linear-gradient(to bottom,#eff6ff,#f8fbff)}.day-cell.drag-over{box-shadow:inset 0 0 0 2px #60a5fa}.day-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.day-number{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;color:#0f172a}.day-number.today{background:#0f172a;color:#fff;box-shadow:0 8px 18px #0f172a38}.icon-btn{width:32px;height:32px;border:1px solid var(--border);background:#fff;color:#334155;border-radius:10px;cursor:pointer;transition:.18s ease}.icon-btn:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.event-list{display:flex;flex-direction:column;gap:8px}.event-chip{border-radius:14px;padding:10px 11px;font-size:.78rem;line-height:1.25;cursor:grab;box-shadow:0 5px 14px #0f172a12;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease}.event-chip:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a1c}.event-title{font-weight:700;margin-bottom:2px}.event-time{color:#334155;font-size:.75rem}.event-default{margin-top:4px;display:inline-block;padding:2px 7px;border-radius:999px;font-size:.63rem;font-weight:700;background:#2563eb1f;color:#1d4ed8}.more-events{font-size:.76rem;color:var(--muted);padding:2px 2px 0}.sidebar-header{padding:24px 20px 16px;border-bottom:1px solid var(--border)}.sidebar-header h3{margin:0;font-size:1.35rem;letter-spacing:-.02em}.sidebar-date{margin-top:8px;color:var(--muted)}.sidebar-body{padding:16px;max-height:680px;overflow:auto}.empty-state{border:1px dashed #cbd5e1;background:#fff;border-radius:18px;padding:24px;text-align:center;color:var(--muted)}.detail-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 6px 14px #0f172a0d;margin-bottom:12px}.detail-title{font-size:1rem;font-weight:800;margin-bottom:8px}.detail-meta{font-size:.84rem;color:var(--muted);margin-bottom:8px}.detail-time{font-size:.84rem;margin-bottom:10px}.detail-description{background:#f8fafc;border-radius:12px;padding:12px;white-space:pre-wrap;font-size:.84rem;color:#334155}.detail-actions{display:flex;gap:8px;margin-top:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.dialog{width:100%;max-width:560px;background:#fff;border-radius:24px;box-shadow:0 26px 60px #0f172a3d;padding:22px}.dialog h3{margin:0 0 16px;font-size:1.4rem;letter-spacing:-.02em}.form-grid{display:grid;gap:14px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-size:.84rem;font-weight:700;margin-bottom:7px;color:#334155}.field input,.field textarea,.field select{width:100%;border:1px solid #cbd5e1;background:#fff;color:var(--text);border-radius:12px;padding:11px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa2e}.checkbox-row{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:#f8fafc}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}@media(max-width:1080px){.calendar-layout{grid-template-columns:1fr}.calendar-main{border-right:0;border-bottom:1px solid var(--border)}.sidebar-body{max-height:none}}@media(max-width:780px){body{padding:10px}.calendar-header{flex-direction:column;align-items:flex-start}.form-row-2{grid-template-columns:1fr}.day-cell,.empty-cell{min-height:110px}.day-cell,.event-chip{padding:8px}}
