/* Source: assets/app.css */
:root {
  --violet: #6254ca;
  --violet-dark: #4a3dac;
  --violet-soft: #efedff;
  --peach: #f3a463;
  --peach-soft: #fff1e5;
  --green: #39a873;
  --green-soft: #e6f7ee;
  --red: #d75f68;
  --red-soft: #fff0f1;
  --ink: #222431;
  --muted: #777b89;
  --line: #e6e5eb;
  --surface: #ffffff;
  --page: #f5f5f8;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--page);
}

.remito-report-create { border-bottom: 1px solid var(--line); }
.petty-layout{display:grid;grid-template-columns:260px 1fr;min-height:560px}.petty-funds{padding:14px;border-right:1px solid var(--line);background:var(--page);display:grid;align-content:start;gap:8px}.petty-funds button{display:grid;gap:5px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface);color:inherit;cursor:pointer}.petty-funds button.active{border-color:var(--violet);background:color-mix(in srgb,var(--violet) 8%,var(--surface))}.petty-funds small{color:var(--muted)}.petty-funds span{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--violet)}.petty-detail{padding:20px;display:grid;align-content:start;gap:14px}.petty-hero{display:flex;justify-content:space-between;gap:20px;padding:20px;border-radius:16px;background:linear-gradient(135deg,#211c49,#5d4fc7);color:#fff}.petty-hero h3{font-size:30px;margin:6px 0}.petty-hero p{margin:0;color:#d9d5ff}.petty-kpis{display:flex;gap:10px;flex-wrap:wrap}.petty-kpis span{display:grid;gap:4px;min-width:105px;padding:11px;border-radius:11px;background:#ffffff18}.petty-actions{display:flex;gap:9px;flex-wrap:wrap}.petty-list{display:grid;gap:9px}.petty-list article{display:flex;justify-content:space-between;gap:15px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.petty-list article>div:first-child{display:grid;gap:5px}.petty-list small{color:var(--muted)}.petty-state{width:max-content;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;text-transform:uppercase}.petty-state.missing_ticket,.petty-state.observed{background:#fde6e8;color:#a82d39}.petty-state.complete{background:#fff3cd;color:#806414}.petty-state.approved,.petty-state.reported{background:#dff7e9;color:#187747}.petty-note{color:#a82d39!important}.upload-label input{display:none}@media(max-width:760px){.petty-layout{grid-template-columns:1fr}.petty-funds{border-right:0;border-bottom:1px solid var(--line)}.petty-hero,.petty-list article{flex-direction:column}}
.remito-report-links { display: grid; gap: 10px; padding: 20px; }
.remito-report-links > h3 { margin: 0 0 4px; }
.remito-report-link { display: flex; justify-content: space-between; gap: 16px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.remito-report-link > div:first-child { display: grid; gap: 5px; }
.remito-report-link small { color: var(--muted); }
@media(max-width:760px) { .remito-report-link { flex-direction: column; } }
* { box-sizing: border-box; }
html { min-height: 100%; }
body { min-height: 100vh; margin: 0; background: var(--page); }
.app-shell { min-height: 100vh; display: flex; flex-direction: column; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .62; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.eyebrow { color: var(--violet); font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.eyebrow.light { color: #d9d4ff; }
.brand-mark { position: relative; width: 31px; height: 31px; display: inline-grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; padding: 5px; border-radius: 10px; background: var(--violet); transform: rotate(-5deg); }
.brand-mark i { display: block; border-radius: 3px; background: white; }
.brand-mark i:nth-child(1) { height: 8px; }
.brand-mark i:nth-child(2) { height: 14px; }
.brand-mark i:nth-child(3) { height: 20px; background: var(--peach); }
.brand-toggle { display: inline-grid; flex: 0 0 auto; border: 0; padding: 0; background: transparent; }
.brand-toggle:focus-visible { border-radius: 11px; outline: 3px solid rgba(98,84,202,.3); outline-offset: 3px; }
.loading-screen { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; background: white; color: var(--muted); font-size: 12px; }
.loading-line { width: 110px; height: 3px; overflow: hidden; border-radius: 9px; background: #eceaf8; }
.loading-line::after { content: ""; display: block; width: 44%; height: 100%; border-radius: inherit; background: var(--violet); animation: load 1s infinite ease-in-out; }
@keyframes load { from { transform: translateX(-110%); } to { transform: translateX(250%); } }

.login-page { min-height: 100vh; display: grid; grid-template-columns: 1.05fr .95fr; background: white; }
.login-story { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 42px 55px; color: white; background: linear-gradient(145deg, #4333a8 0%, #6556ca 56%, #8877df 100%); }
.login-story::before, .login-story::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.13); }
.login-story::before { width: 560px; height: 560px; right: -250px; top: -180px; }
.login-story::after { width: 370px; height: 370px; left: -160px; bottom: -200px; }
.login-brand, .brand { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; font-size: 17px; font-weight: 850; }
.story-content { position: relative; z-index: 1; max-width: 560px; }
.story-content h1 { margin: 15px 0; font-size: clamp(42px, 5vw, 67px); line-height: 1.04; letter-spacing: -.06em; }
.story-content > p { max-width: 480px; margin: 0; color: #e6e3ff; font-size: 16px; line-height: 1.6; }
.story-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 33px; }
.story-pills span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; background: rgba(255,255,255,.08); font-size: 10px; font-weight: 800; }
.story-footer { position: relative; z-index: 1; margin: 0; color: #d9d5f8; font-size: 10px; }
.login-panel { display: grid; place-items: center; padding: 45px; }
.login-box { width: min(400px, 100%); }
.login-box h2 { margin: 10px 0 8px; font-size: 36px; letter-spacing: -.045em; }
.login-box > p { margin: 0; font-size: 12px; line-height: 1.55; }
.login-form { display: grid; gap: 17px; margin-top: 30px; }
label { display: grid; gap: 8px; color: #484c59; font-size: 11px; font-weight: 750; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 12px 13px; color: var(--ink); background: #fafafd; outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--violet); background: white; box-shadow: 0 0 0 3px var(--violet-soft); }
textarea { resize: vertical; }
.input-wrap { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding-left: 13px; color: #aaa7b4; background: #fafafd; }
.input-wrap:focus-within { border-color: var(--violet); box-shadow: 0 0 0 3px var(--violet-soft); }
.input-wrap input { border: 0; box-shadow: none; background: transparent; }
.remember-row { display: flex; align-items: center; gap: 9px; font-weight: 550; }
.remember-row input { width: 17px; height: 17px; accent-color: var(--violet); }
.primary-button, .ghost-button, .danger-button { min-height: 43px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 11px; padding: 0 16px; font-size: 11px; font-weight: 850; text-decoration: none; }
.primary-button { border: 1px solid var(--violet); color: white; background: var(--violet); box-shadow: 0 8px 22px rgba(98,84,202,.22); }
.primary-button:hover { background: var(--violet-dark); }
.ghost-button { border: 1px solid var(--line); color: #606472; background: white; }
.ghost-button:hover { color: var(--violet); border-color: #d9d4ff; background: var(--violet-soft); }
.danger-button { border: 1px solid #f0c5cb; color: #a42f42; background: #fff4f5; }
.danger-button:hover { background: #ffe7ea; }
.login-button { width: 100%; justify-content: space-between; padding: 0 18px; }
.security-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 20px !important; color: #9699a3; font-size: 9px !important; }
.security-note span { color: var(--green); }

.topbar { height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 5vw; border-bottom: 1px solid var(--line); background: white; }
.brand-lockup { display: grid; gap: 4px; line-height: 1; }
.brand-line { display: flex; align-items: baseline; gap: 5px; white-space: nowrap; font-size: 17px; font-weight: 800; letter-spacing: -.025em; }
.brand-line strong { color: var(--violet); font-weight: 900; }
.brand-line b { color: #a0a3ad; font-weight: 300; }
.brand-line span { color: var(--ink); }
.brand-subtitle { color: var(--muted); font-size: 8px; font-weight: 300; letter-spacing: .16em; text-transform: uppercase; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.compact { min-height: 37px; padding: 0 12px; }
.user-chip { display: flex; align-items: center; gap: 10px; margin-left: 5px; border: 0; border-left: 1px solid var(--line); padding: 0 12px; color: var(--ink); background: transparent; text-align: left; }
.user-chip:hover .avatar { box-shadow: 0 0 0 3px var(--violet-soft); }
.avatar, .mini-avatar { display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(145deg, #8e80e5, var(--violet)); font-style: normal; font-weight: 850; text-transform: uppercase; }
.avatar { width: 34px; height: 34px; }
.user-chip > span:last-child { display: grid; gap: 2px; }
.user-chip strong { font-size: 10px; }
.user-chip small { color: var(--muted); font-size: 8px; }
.dashboard { flex: 1; width: min(1380px, 100%); margin: auto; padding: 45px 5vw 70px; }
.site-footer { width: 100%; padding: 16px 5vw 18px; border-top: 1px solid var(--line); color: var(--muted); background: white; font-size: 10px; text-align: center; }
.welcome-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.welcome-row h1 { margin: 7px 0 5px; font-size: 39px; letter-spacing: -.05em; }
.welcome-row p, .board-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.new-task-button { min-height: 47px; padding: 0 19px; }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; margin: 32px 0; }
.stat-card { min-height: 116px; display: grid; grid-template-columns: 49px 1fr auto; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 17px; padding: 18px; color: var(--ink); background: white; text-align: left; box-shadow: 0 8px 25px rgba(32,34,47,.035); }
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(32,34,47,.07); }
.stat-icon { width: 49px; height: 49px; display: grid; place-items: center; border-radius: 14px; font-size: 20px; font-weight: 800; }
.stat-card.pending .stat-icon { color: #c66a25; background: var(--peach-soft); }
.stat-card.completed .stat-icon { color: var(--green); background: var(--green-soft); }
.stat-card.canceled .stat-icon { color: var(--red); background: var(--red-soft); }
.stat-card > span:nth-child(2) { display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 11px; }
.stat-card small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.stat-card strong { grid-row: 2; font-size: 31px; letter-spacing: -.04em; }
.stat-card em { grid-row: 2; color: var(--muted); font-size: 9px; font-style: normal; }
.stat-card > b { color: #b1b3bc; font-size: 17px; }
.board-section { overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: white; box-shadow: 0 13px 36px rgba(32,34,47,.04); }
.board-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 21px; border-bottom: 1px solid var(--line); }
.board-heading h2 { margin: 0 0 4px; font-size: 20px; }
.board-title { min-width: 260px; }
.board-caption-line { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
.network-crew-filter { display: inline-flex; align-items: center; gap: 6px; border-left: 1px solid var(--line); padding-left: 10px; }
.network-crew-filter span { color: var(--violet); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.network-crew-filter select { width: auto; min-width: 145px; height: 29px; border-radius: 8px; padding: 0 27px 0 9px; color: var(--ink); background: var(--surface); font-size: 9px; font-weight: 800; }
.network-period-filter { display: inline-flex; align-items: center; gap: 7px; }
.network-period-filter select { width: auto; height: 27px; border-radius: 8px; padding: 0 25px 0 8px; color: var(--muted); background: #fafafd; font-size: 9px; font-weight: 800; }
.network-period-filter span { color: var(--muted); font-size: 9px; white-space: nowrap; }
.brand-meme-logo { display: inline-grid; place-items: center; border: 0; padding: 0; background: transparent; cursor: pointer; }
.brand-meme-logo:focus-visible { outline: 3px solid color-mix(in srgb, var(--violet) 35%, transparent); outline-offset: 4px; border-radius: 10px; }
.brand-meme-logo.playing { animation: portal-meme-pop .62s ease; }
@keyframes portal-meme-pop { 0%,100% { transform: scale(1) rotate(0); } 30% { transform: scale(1.18) rotate(-7deg); } 62% { transform: scale(.96) rotate(5deg); } }
.custom-date-range { display: inline-flex; align-items: end; gap: 5px; }
.custom-date-range.hidden { display: none; }
.custom-date-range label { display: grid; gap: 2px; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.custom-date-range label span { font-size: 7px; }
.custom-date-range input { width: 128px; height: 29px; border: 1px solid var(--line); border-radius: 8px; padding: 0 7px; color: var(--ink); background: var(--surface); font: inherit; font-size: 9px; }
.custom-date-range i { padding-bottom: 7px; color: var(--muted); font-style: normal; }
.board-tools { display: flex; align-items: center; gap: 10px; }
.search-box { min-width: 260px; display: flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 10px; padding-left: 10px; color: #9da0aa; background: #fafafd; }
.search-box input { border: 0; padding: 9px 9px 9px 0; box-shadow: none; background: transparent; font-size: 10px; }
.filter-tabs { min-height: 39px; display: flex; padding: 3px; border-radius: 10px; background: #f1f1f5; }
.filter-tabs button { border: 0; border-radius: 8px; padding: 0 11px; color: #858995; background: transparent; font-size: 9px; font-weight: 800; }
.filter-tabs button.active { color: var(--violet); background: white; box-shadow: 0 2px 8px rgba(32,34,47,.08); }
.kanban-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #fafafd; }
.kanban-board.four-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.task-list-board { padding: 20px; background: #fafafd; }
.task-list-section > header { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; }
.task-list-section > header h3 { flex: 1; margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.task-list-section > header b { min-width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--muted); background: #ececf1; font-size: 9px; }
.task-list-export { display: flex; gap: 7px; margin-left: 5px; }
.task-list-export button { border: 1px solid var(--line); border-radius: 9px; padding: 8px 11px; color: var(--violet); background: var(--surface); font-size: 9px; font-weight: 850; cursor: pointer; }
.task-list-export button:hover { border-color: var(--violet); }
.task-list-stack { display: grid; gap: 9px; }
.task-list-item { overflow: hidden; border: 1px solid var(--line); border-left: 4px solid #b8bbc4; border-radius: 12px; background: var(--surface); box-shadow: 0 4px 12px rgba(30,31,42,.035); }
.task-list-item.important { border-left-color: var(--peach); }
.task-list-item.urgent { border-left-color: var(--red); }
.task-list-item > button { width: 100%; display: grid; grid-template-columns: 125px minmax(220px,1.5fr) minmax(190px,1fr) 145px 24px; align-items: center; gap: 16px; border: 0; padding: 14px 16px; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.task-list-item > button:hover { background: rgba(104,82,230,.035); }
.task-list-number,.task-list-main,.task-list-assignment,.task-list-meta { min-width: 0; display: grid; gap: 5px; }
.task-list-number small { color: #9b9eaa; font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.task-list-number i { width: fit-content; font-style: normal; }
.task-list-main strong { overflow-wrap: anywhere; color: var(--ink); font-size: 12px; line-height: 1.35; }
.task-list-main small,.task-list-assignment > small,.task-list-meta { overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.4; text-overflow: ellipsis; }
.task-list-assignment > small,.task-list-main > small { white-space: nowrap; }
.task-list-siga { width: fit-content; border-radius: 6px; padding: 4px 7px; color: #956319; background: #fff4d6; font-size: 8px; font-weight: 800; }
.task-list-siga.certified { color: #315f9e; background: #e8f0ff; }
.task-list-meta { text-align: right; }
.task-list-item > button > b { color: var(--violet); font-size: 18px; }
.filtered-list-report { padding: 22px; }
.filtered-list-report table { width: 100%; border-collapse: collapse; font-size: 8px; }
.filtered-list-report th,.filtered-list-report td { border: 1px solid #bfc1c8; padding: 7px; text-align: left; vertical-align: top; }
.filtered-list-report th { background: #efeff4; font-weight: 850; }
.kanban-column { min-width: 0; padding: 20px 15px 24px; border-right: 1px solid var(--line); }
.kanban-column:last-child { border: 0; }
.kanban-column > header { display: flex; align-items: center; gap: 8px; padding: 0 4px 13px; }
.kanban-column h3 { flex: 1; margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.kanban-column header b { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: var(--muted); background: #ececf1; font-size: 9px; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; }
.pending .status-dot { background: var(--peach); }
.completed .status-dot { background: var(--green); }
.canceled .status-dot { background: var(--red); }
.task-stack { display: grid; gap: 12px; align-content: start; }
.task-card { min-width: 0; border: 1px solid var(--line); border-top: 3px solid #b8bbc4; border-radius: 13px; padding: 14px; background: white; box-shadow: 0 5px 15px rgba(30,31,42,.04); }
.task-card.important { border-top-color: var(--peach); }
.task-card.urgent { border-top-color: var(--red); }
.task-card-top, .task-meta, .task-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.task-number { color: #9b9eaa; font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.status-badge { padding: 4px 7px; border-radius: 99px; font-size: 8px; font-weight: 850; }
.status-badge.pending { color: #b15b1f; background: var(--peach-soft); }
.status-badge.completed { color: #267b55; background: var(--green-soft); }
.status-badge.canceled { color: #a7474a; background: var(--red-soft); }
.task-card h4 { overflow-wrap: anywhere; margin: 12px 0 7px; font-size: 14px; line-height: 1.35; }
.address, .task-description { margin: 0 0 8px; color: #626674; font-size: 10px; line-height: 1.45; }
.task-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.task-meta { margin-top: 13px; padding-top: 12px; border-top: 1px solid #efeff3; color: #898d98; font-size: 8px; }
.task-meta > span { display: flex; align-items: center; gap: 6px; }
.mini-avatar { width: 20px; height: 20px; font-size: 8px; }
.task-card-bottom { margin-top: 10px; }
.priority { font-size: 8px; font-weight: 850; text-transform: uppercase; }
.priority.normal { color: #9295a0; }
.priority.important { color: #d77a31; }
.priority.urgent { color: var(--red); }
.link-button { border: 0; padding: 0; color: var(--violet); background: transparent; font-size: 9px; font-weight: 850; }
.empty-state { min-height: 300px; display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; }
.empty-state > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--violet); background: var(--violet-soft); font-size: 20px; }
.empty-state h3 { margin: 14px 0 5px; }
.empty-state p { margin: 0; color: var(--muted); font-size: 11px; }
.column-empty { padding: 28px 8px; color: #a0a3ad; text-align: center; font-size: 10px; }

.dialog-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; overflow-y: auto; padding: 20px; background: rgba(24,27,38,.54); backdrop-filter: blur(5px); }
.dialog { width: min(690px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; border-radius: 21px; background: white; box-shadow: 0 30px 85px rgba(20,22,33,.28); }
.dialog.wide { width: min(1060px, 100%); }
.dialog > header { position: sticky; z-index: 2; top: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 25px 17px; border-bottom: 1px solid var(--line); background: white; }
.dialog h2 { margin: 6px 0 0; font-size: 23px; letter-spacing: -.035em; }
.close-button { width: 35px; height: 35px; border: 0; border-radius: 10px; color: #737784; background: #f2f2f5; font-size: 24px; line-height: 1; }
.dialog-form { display: grid; gap: 17px; padding: 22px 25px 25px; }
.form-row { display: grid; grid-template-columns: 1fr 175px; gap: 13px; }
.dialog-form footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 3px; }
.form-hint { margin: 0; padding: 11px 12px; border-radius: 10px; color: #777b89; background: #f6f5ff; font-size: 10px; }
.task-detail { display: grid; grid-template-columns: 1fr .9fr; }
.detail-summary, .status-form { padding: 23px 25px; }
.detail-summary { border-right: 1px solid var(--line); }
.detail-line { display: grid; grid-template-columns: 130px 1fr; gap: 15px; margin: 0; padding: 11px 0; border-bottom: 1px solid #efeff3; font-size: 11px; }
.detail-line span { color: var(--muted); }
.detail-line strong { text-align: right; }
.detail-description { margin-top: 16px; font-size: 11px; line-height: 1.6; }
.detail-description span { color: var(--muted); }
.detail-description p { white-space: pre-wrap; }
.result-box { margin-top: 15px; padding: 13px; border-radius: 11px; font-size: 10px; line-height: 1.55; }
.result-box.completed { color: #267b55; background: var(--green-soft); }
.result-box.canceled { color: #a7474a; background: var(--red-soft); }
.status-form { display: flex; flex-direction: column; gap: 16px; background: #fbfbfd; }
.status-form h3 { margin: 0; font-size: 15px; }
.status-form .primary-button { width: 100%; }
.delete-zone { display: grid; gap: 8px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
.delete-zone small { color: #98616a; font-size: 9px; }

.users-layout { display: grid; grid-template-columns: 290px 1fr; min-height: 540px; }
.users-list { overflow-y: auto; padding: 15px; border-right: 1px solid var(--line); background: #f8f8fb; }
.user-row, .new-user { width: 100%; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 9px; margin-bottom: 8px; border: 1px solid transparent; border-radius: 12px; padding: 10px; color: var(--ink); background: transparent; text-align: left; }
.new-user { grid-template-columns: 30px 1fr; color: var(--violet); }
.new-user span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--violet-soft); font-size: 17px; }
.user-row:hover, .user-row.active, .new-user:hover, .new-user.active { border-color: #ddd9fc; background: white; }
.user-row-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: white; background: var(--violet); font-weight: 850; }
.user-row > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.user-row strong, .user-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-row strong { font-size: 11px; }
.user-row small { color: var(--muted); font-size: 8px; }
.state-chip { padding: 4px 6px; border-radius: 99px; font-size: 7px; font-weight: 900; }
.state-chip.active { color: #277c57; background: var(--green-soft); }
.state-chip.inactive { color: #a7474a; background: var(--red-soft); }
.user-editor { padding: 24px; }
.user-editor form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.user-editor form h3, .user-editor form .full { grid-column: 1 / -1; }
.user-editor form h3 { margin: 0; font-size: 20px; }
.security-block { display: grid; gap: 10px; margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--line); }
.security-block h4 { margin: 0; font-size: 12px; }
.user-editor .password-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.access-control { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.access-control span { display: grid; gap: 3px; }
.access-control small { color: var(--muted); font-size: 9px; }

.admin-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 28px; }
.admin-menu-card { min-height: 150px; display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 16px; padding: 22px; color: var(--ink); background: white; text-align: left; }
.admin-menu-card:hover { border-color: var(--violet); background: #faf9ff; }
.admin-menu-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; color: var(--violet); background: var(--violet-soft); font-size: 26px; }
.admin-menu-card > span:nth-child(2) { display: grid; gap: 7px; }
.admin-menu-card strong { font-size: 17px; }
.admin-menu-card small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.admin-menu-card b { color: var(--violet); font-size: 20px; }
.install-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}.install-app-card{display:grid;align-content:start;gap:18px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.install-app-card .install-preview{margin:0}.install-app-card .install-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px}.install-app-card .copy-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.install-app-card label{display:grid;gap:7px;font-size:11px;font-weight:800}.install-app-card input{min-width:0}.install-app-card>a{justify-self:start}
@media(max-width:800px){.install-app-grid{grid-template-columns:1fr;padding:16px}.install-app-card .install-benefits{grid-template-columns:1fr}.install-app-card .copy-link-row{grid-template-columns:1fr}.install-app-card .copy-link-row button{width:100%}}
.admin-back { display: block; margin: 0 0 5px; border: 0; padding: 0; color: var(--violet); background: transparent; font-size: 9px; font-weight: 850; }
.backup-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 24px; background: #f7f7fa; }
.backup-card { display: grid; align-content: start; gap: 16px; border: 1px solid var(--line); border-radius: 16px; padding: 20px; background: white; }
.backup-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; color: var(--violet); background: var(--violet-soft); font-size: 26px; font-weight: 850; }
.backup-card h3 { margin: 0 0 6px; font-size: 17px; }
.backup-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.backup-card > .primary-button { align-self: end; text-align: center; }
.backup-card form { display: grid; gap: 13px; }
.backup-warning { border-radius: 10px; padding: 11px 12px; color: #974553; background: #fff0f2; font-size: 9px; line-height: 1.45; }
.backup-note { grid-column: 1 / -1; margin: 0; padding: 11px 13px; color: var(--muted); font-size: 9px; text-align: center; }
.notification-settings { min-height: 250px; display: grid; align-items: center; padding: 24px; background: #f7f7fa; }
.home-preference{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 24px 0;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.home-preference>div{display:flex;align-items:center;gap:15px}.home-preference h3{margin:0 0 5px;font-size:15px}.home-preference p{margin:0;color:var(--muted);font-size:10px}.home-preference select{min-width:190px;border:1px solid var(--line);border-radius:10px;padding:11px 35px 11px 12px;color:var(--ink);background:var(--surface);font-size:11px;font-weight:750}
@media(max-width:640px){.home-preference{align-items:stretch;flex-direction:column;margin:14px 14px 0;padding:16px}.home-preference select{width:100%;min-width:0}}
.overtime-period{margin:5px 0 0;color:var(--muted);font-size:10px}.overtime-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);background:#f8f9fb}.overtime-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.1em}.overtime-toolbar input{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff}.overtime-toolbar>div{display:grid;justify-items:end}.overtime-toolbar>div span{color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.08em}.overtime-toolbar>div strong{font-size:24px;color:#0b7389}.overtime-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:18px 24px}.overtime-summary article{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.overtime-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800}.overtime-summary strong{font-size:21px;color:#0b7389}.overtime-summary small{color:var(--muted);font-size:8px}.overtime-list{margin:0 24px 24px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.overtime-list>header,.overtime-list>article{display:grid;grid-template-columns:110px minmax(150px,.8fr) minmax(220px,2fr) 90px 70px;align-items:center;gap:12px;padding:12px 15px}.overtime-list>header{color:var(--muted);background:#f4f6f8;font-size:8px;font-weight:900;letter-spacing:.08em}.overtime-list>article{border-top:1px solid var(--line);background:#fff;font-size:10px}.overtime-list time{color:var(--muted)}.overtime-list p{margin:0;line-height:1.45}.overtime-list article>b{color:#0b7389;font-size:14px}.overtime-list article>div{display:flex;justify-content:flex-end;gap:5px}.overtime-list article button{width:29px;height:29px;border:1px solid var(--line);border-radius:8px;background:#fff}.overtime-list article button:last-child{color:#b33646}.overtime-empty{padding:35px;text-align:center;color:var(--muted);font-size:10px}
@media(max-width:760px){.overtime-toolbar{padding:14px 16px}.overtime-summary{grid-template-columns:1fr 1fr;padding:14px 16px}.overtime-list{margin:0 16px 18px;overflow-x:auto}.overtime-list>header,.overtime-list>article{min-width:740px}.overtime-toolbar>div strong{font-size:20px}}

/* Complete dark parity: workspaces, administrative tools and operational modules. */
html[data-theme="dark"] .dialog,
html[data-theme="dark"] .dialog>header,
html[data-theme="dark"] .dialog-form footer,
html[data-theme="dark"] .admin-workspace .dialog,
html[data-theme="dark"] .office-workspace .dialog { color:#edf3f8; border-color:#2b3d4d; background:#15212b; }
html[data-theme="dark"] .admin-workspace-main { background:#0d151f; }
html[data-theme="dark"] .admin-home-overview>div,
html[data-theme="dark"] .admin-home-guide,
html[data-theme="dark"] .office-home-menu .admin-menu-card { color:#edf3f8; border-color:#304351; background:#182630; }
html[data-theme="dark"] .admin-home-overview>div>i { background:#292d55; }
html[data-theme="dark"] .admin-home-overview>div.user>i { color:#66d2e4; background:#173943; }
html[data-theme="dark"] .admin-home-overview>div.access>i { color:#ffb47b; background:#432e22; }
html[data-theme="dark"] .admin-return-button,
html[data-theme="dark"] .ghost-button { color:#cbd7e5; border-color:#3a4b5e; background:#1b2835; }
html[data-theme="dark"] .office-workspace { background:#0b171b; }
html[data-theme="dark"] .office-home-menu .admin-menu-icon { color:#70d7e5; background:#153b43; }
html[data-theme="dark"] .office-home-menu .admin-menu-card:hover { border-color:#3d7a84; background:#1d3238; }
html[data-theme="dark"] .clients-toolbar,
html[data-theme="dark"] .clients-import-note,
html[data-theme="dark"] .clients-result-head,
html[data-theme="dark"] .client-card,
html[data-theme="dark"] .devices-heading,
html[data-theme="dark"] .device-filters,
html[data-theme="dark"] .device-box-card,
html[data-theme="dark"] .device-box-fields,
html[data-theme="dark"] .device-serial-list,
html[data-theme="dark"] .device-editor>footer,
html[data-theme="dark"] .device-detail-summary,
html[data-theme="dark"] .device-detail-serial-list,
html[data-theme="dark"] .device-history,
html[data-theme="dark"] .device-stats,
html[data-theme="dark"] .device-scanner,
html[data-theme="dark"] .device-detail,
html[data-theme="dark"] .device-comments,
html[data-theme="dark"] .vehicle-card,
html[data-theme="dark"] .vehicle-summary,
html[data-theme="dark"] .vehicle-fleet-toolbar,
html[data-theme="dark"] .vehicle-fleet-list,
html[data-theme="dark"] .vehicle-fleet-row,
html[data-theme="dark"] .equipment-card,
html[data-theme="dark"] .equipment-summary,
html[data-theme="dark"] .stock-card,
html[data-theme="dark"] .stock-control-summary,
html[data-theme="dark"] .remito-card,
html[data-theme="dark"] .remito-list,
html[data-theme="dark"] .petty-list article,
html[data-theme="dark"] .overtime-summary article,
html[data-theme="dark"] .overtime-list>article { color:#eaf1f7; border-color:#2e4151; background:#182630; }
html[data-theme="dark"] .clients-toolbar,
html[data-theme="dark"] .device-filters,
html[data-theme="dark"] .vehicle-fleet-toolbar,
html[data-theme="dark"] .overtime-toolbar,
html[data-theme="dark"] .overtime-list>header { color:#a8b7c7; border-color:#2e4151; background:#111d27; }
html[data-theme="dark"] .overtime-list { border-color:#2e4151; }
html[data-theme="dark"] .overtime-list>article { border-top-color:#2e4151; }
html[data-theme="dark"] .home-preference { color:#eaf1f7; border-color:#304351; background:#182630; }
html[data-theme="dark"] .installation-front-page,
html[data-theme="dark"] .postit-front-page { color:#edf3f8; }
html[data-theme="dark"] .installation-front-stats>button,
html[data-theme="dark"] .installation-front-board,
html[data-theme="dark"] .installation-front-list>button,
html[data-theme="dark"] .installation-admin-stats>button,
html[data-theme="dark"] .installation-admin-list>button,
html[data-theme="dark"] .installation-admin-detail>section { color:#eaf1f7; border-color:#2d4051; background:#172530; }
html[data-theme="dark"] .installation-front-board>header,
html[data-theme="dark"] .installation-front-list>button:hover,
html[data-theme="dark"] .installation-admin-list>button:hover { background:#1b2b37; }
html[data-theme="dark"] .role-members,
html[data-theme="dark"] .role-members article,
html[data-theme="dark"] .catalog-row,
html[data-theme="dark"] .trash-row,
html[data-theme="dark"] .audit-list article,
html[data-theme="dark"] .backup-card,
html[data-theme="dark"] .tool-card { color:#eaf1f7; border-color:#2e4151; background:#182630; }
html[data-theme="dark"] .dialog h2,
html[data-theme="dark"] .dialog h3,
html[data-theme="dark"] .client-card h3,
html[data-theme="dark"] .overtime-list strong { color:#f4f8fb; }
html[data-theme="dark"] .dialog p,
html[data-theme="dark"] .dialog small,
html[data-theme="dark"] .client-card p { color:#9eafbf; }
.presence-wrap{position:relative}.presence-button{height:42px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:11px;padding:0 11px;color:var(--muted);background:var(--surface);font-size:9px;font-weight:800}.presence-button>i{width:8px;height:8px;border-radius:50%;background:#aab0bb;box-shadow:0 0 0 4px rgba(170,176,187,.12)}.presence-button.has-online>i{background:#37bd7b;box-shadow:0 0 0 4px rgba(55,189,123,.13)}.presence-button strong{color:var(--ink);font-size:11px}.presence-panel{position:absolute;z-index:45;right:0;top:50px;width:310px;overflow:hidden;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:var(--surface);box-shadow:0 22px 60px rgba(18,25,40,.22)}.presence-panel[hidden]{display:none}.presence-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:#fafbfc}.presence-panel>header>div{display:grid;gap:2px}.presence-panel>header strong{font-size:12px}.presence-panel>header small{color:var(--muted);font-size:8px}.presence-live{padding:4px 6px;border-radius:99px;color:#24845b;background:#e5f7ee;font-size:7px;font-weight:900;letter-spacing:.08em}.presence-panel>div{max-height:330px;overflow:auto;padding:7px}.presence-user{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:9px;padding:9px;border-radius:10px}.presence-user:hover{background:#f5f6f9}.presence-avatar{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#7569e4,#5045b9);font-size:11px;font-weight:900}.presence-avatar i{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border:2px solid var(--surface);border-radius:50%;background:#37bd7b}.presence-avatar i.away{background:#e7a63d}.presence-user>span:last-child{display:grid;gap:3px;min-width:0}.presence-user strong,.presence-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presence-user strong{font-size:10px}.presence-user small{color:var(--muted);font-size:8px}.presence-panel>footer{padding:9px 15px;border-top:1px solid var(--line);color:var(--muted);background:#fafbfc;font-size:7px}.presence-empty{margin:0;padding:25px 12px;color:var(--muted);font-size:9px;text-align:center}html[data-theme="dark"] .presence-button{border-color:#34485b;background:#152331}html[data-theme="dark"] .presence-panel{border-color:#314456;background:#172631;box-shadow:0 25px 65px rgba(0,0,0,.45)}html[data-theme="dark"] .presence-panel>header,html[data-theme="dark"] .presence-panel>footer{background:#111e28}html[data-theme="dark"] .presence-user:hover{background:#20313f}html[data-theme="dark"] .presence-live{color:#79dfaa;background:#173c2c}@media(max-width:720px){.presence-button{width:42px;justify-content:center;padding:0}.presence-button span{display:none}.presence-panel{position:fixed;top:68px;right:10px;width:min(330px,calc(100% - 20px))}}
.notification-settings .center-state { min-height: 200px; }
.notification-panel { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 16px; padding: 20px; background: white; }
.notification-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; color: var(--violet); background: var(--violet-soft); font-size: 24px; font-weight: 900; }
.notification-panel h3 { margin: 0 0 6px; font-size: 16px; }
.notification-panel p { max-width: 420px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.notification-panel button { white-space: nowrap; }
.install-admin { display: grid; gap: 18px; padding: 25px; }
.install-preview { display: flex; align-items: center; gap: 14px; }
.install-preview img { width: 62px; height: 62px; border-radius: 17px; }
.install-preview > div { display: grid; gap: 4px; }
.install-preview strong { font-size: 18px; }
.install-preview span, .install-admin > p { color: var(--muted); font-size: 10px; line-height: 1.55; }
.install-admin > p { margin: 0; }
.install-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.install-benefits span { border-radius: 10px; padding: 11px 12px; color: #565a68; background: #f4f3fb; font-size: 9px; }
.copy-link-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 5px; }
.copy-link-row .primary-button { min-height: 41px; white-space: nowrap; }
.install-admin > .ghost-button { justify-self: start; }
.report-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); align-items: end; gap: 10px; padding: 18px 22px; border-bottom: 1px solid var(--line); background: #faf9ff; }
.report-filters label { font-size: 8px; }
.report-filters input, .report-filters select { margin-top: 5px; padding: 9px 10px; font-size: 10px; }
.report-filters .primary-button { min-height: 38px; white-space: nowrap; }
.report-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 22px; border-bottom: 1px solid var(--line); color: var(--muted); background: white; font-size: 9px; }
.report-toolbar strong { color: var(--ink); }
.report-toolbar .ghost-button { min-height: 36px; }
.report-print-area { padding: 25px; background: #f7f7fa; }
.report-print-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 2px solid var(--violet); }
.report-print-header > div { display: grid; gap: 4px; }
.report-print-header strong { color: var(--violet); font-size: 15px; }
.report-print-header span, .report-print-header small { color: var(--muted); font-size: 9px; }
.report-list { display: grid; gap: 12px; }
.report-task { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; }
.report-task > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 15px 17px 12px; border-bottom: 1px solid #eeeeF2; }
.report-task > header > div { display: grid; gap: 4px; }
.report-task > header span { color: var(--violet); font-size: 8px; font-weight: 900; }
.report-task h3 { margin: 0; font-size: 15px; }
.report-task > header b { border-radius: 99px; padding: 5px 8px; font-size: 8px; }
.report-task > header b.pending { color: #a96024; background: var(--peach-soft); }
.report-task > header b.completed { color: #247551; background: var(--green-soft); }
.report-task > header b.canceled { color: #a7474a; background: var(--red-soft); }
.report-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 11px 17px; color: var(--muted); background: #fafafd; font-size: 8px; }
.report-meta strong { color: #555967; }
.report-description, .report-outcome { padding: 13px 17px; }
.report-description strong, .report-outcome strong { font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.report-description p, .report-outcome p { margin: 6px 0 0; white-space: pre-wrap; font-size: 10px; line-height: 1.55; }
.report-outcome { border-top: 1px solid #dcefe5; background: #f4fbf7; }
.report-outcome.canceled { border-color: #f1d9dc; background: #fff7f8; }
.report-outcome small { display: block; margin-top: 7px; color: var(--muted); font-size: 8px; }
.report-empty { padding: 80px 20px; color: var(--muted); text-align: center; font-size: 11px; }
.zones-admin-intro { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 22px; border-bottom: 1px solid var(--line); background: #faf9ff; }
.zones-admin-intro strong { font-size: 11px; }
.zones-admin-intro span { color: var(--muted); font-size: 9px; }
.zones-admin-list { max-height: 640px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; overflow-y: auto; padding: 18px 22px 24px; background: #f7f7fa; }
.zone-admin-card { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 10px; border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: white; }
.zone-admin-title { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; }
.zone-admin-title span { font-size: 18px; }
.zone-admin-title strong { font-size: 12px; }
.zone-name-field { grid-column: 1 / -1; }
.zone-admin-card label { color: var(--muted); font-size: 8px; font-weight: 800; }
.zone-admin-card input { margin-top: 5px; }
.zone-admin-card .primary-button { min-height: 38px; padding: 0 13px; white-space: nowrap; }
.zones-map-wrap { position: relative; background: #edf0f4; }
#zones-map { width: 100%; height: min(670px, 74vh); min-height: 480px; }
.zones-map-note { position: absolute; z-index: 500; left: 50%; bottom: 16px; transform: translateX(-50%); max-width: calc(100% - 30px); border-radius: 10px; padding: 9px 13px; color: white; background: rgba(34, 37, 48, .88); box-shadow: 0 8px 24px rgba(20, 22, 30, .2); font-size: 9px; pointer-events: none; }
.zone-popup { min-width: 190px; display: grid; gap: 8px; padding: 3px; }
.zone-popup strong { margin-bottom: 3px; font-size: 14px; }
.zone-popup a, .zone-link-disabled { display: block; border-radius: 8px; padding: 9px 10px; font-size: 10px; font-weight: 800; text-decoration: none; }
.zone-popup a { color: white; background: var(--violet); }
.zone-link-disabled { color: var(--muted); background: #eff0f4; }
.leaflet-popup-content { margin: 13px; }

.tools-menu { display: grid; gap: 12px; padding: 24px; background: #fbfbfd; }
.tool-card { min-height: 105px; display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 16px; padding: 18px; color: var(--ink); background: white; text-align: left; box-shadow: 0 8px 24px rgba(32,34,47,.04); }
.tool-card:hover { transform: translateY(-2px); border-color: #d9d4ff; box-shadow: 0 12px 28px rgba(32,34,47,.08); }
.tool-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; color: var(--violet); background: var(--violet-soft); font-size: 25px; }
.tool-card > span:nth-child(2) { display: grid; gap: 5px; }
.tool-card strong { font-size: 14px; }
.tool-card small { color: var(--muted); font-size: 10px; }
.tool-card b { color: #b1b3bc; font-size: 18px; }
.calculator-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(330px, 1.2fr); background: #fbfbfd; }
.calculator-fields { display: grid; gap: 15px; padding: 25px; border-right: 1px solid var(--line); background: white; }
.calculator-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 4px; }
.calculator-results { min-height: 465px; display: grid; align-content: center; gap: 18px; padding: 32px; }
.calculator-empty { display: grid; justify-items: center; gap: 8px; color: var(--muted); text-align: center; }
.calculator-empty > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; color: var(--violet); background: var(--violet-soft); font-size: 28px; }
.calculator-empty strong { margin-top: 7px; color: var(--ink); font-size: 15px; }
.calculator-empty small { max-width: 290px; font-size: 10px; line-height: 1.5; }
.calculator-result-heading { display: grid; gap: 5px; }
.calculator-result-heading > strong { font-size: 28px; letter-spacing: -.04em; }
.calculator-result-heading small { color: var(--muted); font-size: 10px; }
.calculator-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.calculator-result-grid > div { display: grid; gap: 7px; border: 1px solid var(--line); border-radius: 13px; padding: 15px; background: white; }
.calculator-result-grid span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.calculator-result-grid strong { color: var(--violet); font-size: 27px; }
.calculator-detail { border-radius: 10px; padding: 11px 13px; color: var(--muted); background: #f0f0f5; font-size: 9px; }
.attenuation-calculator { padding: 22px; background: #fbfbfd; }
.attenuation-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: white; }
.attenuation-grid { min-width: 920px; display: grid; grid-template-columns: 110px 120px 80px repeat(7, minmax(85px,1fr)); align-items: stretch; }
.attenuation-grid > * { min-height: 42px; display: flex; align-items: center; justify-content: center; margin: 0; border-right: 1px solid #d4d4d8; border-bottom: 1px solid #d4d4d8; padding: 7px; }
.attenuation-head > strong { color: #16171c; background: #c8c8c8; font-size: 12px; }
.attenuation-head .connector-title { color: white; background: #f20d16; }
.attenuation-inputs input,.attenuation-inputs select,.connector-value { width: 100%; min-width: 0; border: 0; border-radius: 0; text-align: center; background: white; }
.attenuation-inputs select { font-weight: 800; }
.attenuation-inputs .final-label { font-weight: 800; }
.attenuation-row strong { font-size: 12px; }
.attenuation-row .row-group { grid-row: span 1; }
.output-row .connector-value { color: white; background: #f20d16; font-weight: 900; }
.output-row .output-level-value { width: 100%; min-width: 0; border: 0; border-radius: 0; text-align: center; color: var(--ink); background: #fff; font-weight: 900; }
.tap-row { background: #c8c8c8; }
.tap-row strong,.tap-row b { font-size: 13px; }
.variation-result { min-width: 920px; display: grid; grid-template-columns: 1fr 140px; align-items: center; margin-top: 18px; border: 2px solid #24252b; }
.variation-result span { padding: 9px 12px; font-size: 12px; }
.variation-result strong { padding: 9px 14px; color: white; background: #f20d16; text-align: right; font-size: 16px; }
.splitter-reference { max-width: 470px; margin-top: 18px; }
.splitter-reference h3 { margin: 0 0 9px; font-size: 13px; }
.splitter-table { display: grid; grid-template-columns: 1fr 1fr 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: white; }
.splitter-table > * { min-height: 31px; display: grid; place-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 6px; font-size: 10px; }
.splitter-table > strong { background: #ededf2; }
.whatsapp-button { min-height: 43px; border: 0; border-radius: 11px; padding: 0 16px; color: white; background: #28a965; font-size: 11px; font-weight: 850; }
.whatsapp-button:hover { background: #218c55; }

.drive-area { min-height: 560px; display: flex; flex-direction: column; background: #fbfbfd; }
.drive-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 20px; border-bottom: 1px solid var(--line); background: white; }
.breadcrumbs { min-width: 0; display: flex; align-items: center; overflow-x: auto; }
.breadcrumbs button { flex: 0 0 auto; border: 0; padding: 6px; color: var(--violet); background: transparent; font-size: 10px; font-weight: 800; }
.breadcrumbs span { color: #b1b3bc; }
.drive-actions { display: flex; gap: 8px; }
.upload-label { position: relative; cursor: pointer; }
.upload-label input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.new-folder-form { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; padding: 12px 20px; border-bottom: 1px solid var(--line); background: #f5f2ff; }
.drive-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 18px 20px 12px; }
.drive-heading strong { font-size: 14px; }
.drive-heading small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.drive-heading input { width: min(280px, 100%); padding: 9px 11px; font-size: 10px; background: white; }
.drive-list { margin: 0 20px 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; }
.drive-labels, .drive-row { display: grid; grid-template-columns: minmax(220px,1fr) 120px 75px minmax(170px,auto); align-items: center; gap: 12px; }
.drive-labels { min-height: 34px; padding: 0 13px; color: #9699a4; background: #f3f3f6; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.drive-row { min-height: 66px; padding: 9px 13px; border-top: 1px solid #eeeeF2; }
.drive-main { min-width: 0; display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 10px; border: 0; color: var(--ink); background: transparent; text-align: left; }
.file-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; color: #68707f; background: #eff0f4; font-size: 8px; font-weight: 900; }
.drive-row.folder .file-icon { color: #b36e2a; background: #fff0d5; font-size: 18px; }
.drive-main span { min-width: 0; display: grid; gap: 3px; }
.drive-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.drive-main small, .drive-row time, .drive-size { color: var(--muted); font-size: 8px; }
.drive-row-actions { display: flex; justify-content: flex-end; gap: 5px; }
.drive-row-actions a, .drive-row-actions button { min-height: 29px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; padding: 0 8px; color: #5c6170; background: white; font-size: 8px; font-weight: 850; text-decoration: none; }
.drive-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 20px; border-top: 1px solid var(--line); color: var(--muted); background: white; font-size: 8px; }
.link-danger { border: 0; color: #a44a54; background: transparent; font-size: 8px; font-weight: 850; }
.center-state { min-height: 430px; display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; }
.center-state .big-icon { width: 65px; height: 58px; display: grid; place-items: center; border-radius: 18px; color: #5271db; background: #edf1ff; font-size: 28px; }
.center-state h3 { margin: 16px 0 7px; }
.center-state p { max-width: 470px; margin: 0 0 20px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.spinner { width: 29px; height: 29px; border: 3px solid #e6e3ff; border-top-color: var(--violet); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.toast { position: fixed; z-index: 100; right: 22px; bottom: 22px; max-width: min(400px, calc(100% - 44px)); display: flex; align-items: center; gap: 9px; border-radius: 12px; padding: 13px 16px; color: white; background: #292c39; box-shadow: 0 15px 40px rgba(20,22,30,.25); font-size: 11px; }
.toast span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #222631; background: #79dfa9; font-weight: 900; }

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f0f1f7;
  --muted: #a5a9b7;
  --line: #343845;
  --surface: #21242e;
  --page: #15171e;
  --violet: #9386f0;
  --violet-dark: #8173e2;
  --violet-soft: #302c54;
  --peach-soft: #493323;
  --green-soft: #1d3d30;
  --red-soft: #462a30;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .app-shell { background: var(--page); }
html[data-theme="dark"] .loading-screen,
html[data-theme="dark"] .login-page,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .site-footer,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .board-section,
html[data-theme="dark"] .task-card,
html[data-theme="dark"] .dialog,
html[data-theme="dark"] .dialog > header,
html[data-theme="dark"] .ghost-button,
html[data-theme="dark"] .user-row:hover,
html[data-theme="dark"] .user-row.active,
html[data-theme="dark"] .new-user:hover,
html[data-theme="dark"] .new-user.active,
html[data-theme="dark"] .admin-menu-card,
html[data-theme="dark"] .backup-card,
html[data-theme="dark"] .notification-panel,
html[data-theme="dark"] .report-toolbar,
html[data-theme="dark"] .report-task,
html[data-theme="dark"] .zone-admin-card,
html[data-theme="dark"] .tool-card,
html[data-theme="dark"] .calculator-fields,
html[data-theme="dark"] .calculator-result-grid > div,
html[data-theme="dark"] .drive-toolbar,
html[data-theme="dark"] .drive-list,
html[data-theme="dark"] .drive-row-actions a,
html[data-theme="dark"] .drive-row-actions button,
html[data-theme="dark"] .drive-footer { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .input-wrap,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .drive-heading input { color: var(--ink); background: #191c24; }
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus { background: #1b1e27; }
html[data-theme="dark"] .kanban-board,
html[data-theme="dark"] .task-list-board,
html[data-theme="dark"] .notification-settings,
html[data-theme="dark"] .users-list,
html[data-theme="dark"] .backup-layout,
html[data-theme="dark"] .report-print-area,
html[data-theme="dark"] .zones-admin-list,
html[data-theme="dark"] .tools-menu,
html[data-theme="dark"] .calculator-layout,
html[data-theme="dark"] .drive-area { background: #181a22; }
html[data-theme="dark"] .status-form,
html[data-theme="dark"] .report-filters,
html[data-theme="dark"] .zones-admin-intro,
html[data-theme="dark"] .new-folder-form { background: #1d2029; }
html[data-theme="dark"] .filter-tabs,
html[data-theme="dark"] .drive-labels,
html[data-theme="dark"] .calculator-detail { background: #292c36; }
html[data-theme="dark"] .attenuation-calculator { background: #1c1e26; }
html[data-theme="dark"] .attenuation-scroll,html[data-theme="dark"] .splitter-table,html[data-theme="dark"] .attenuation-inputs input,html[data-theme="dark"] .attenuation-inputs select { color: var(--ink); background: var(--surface); }
html[data-theme="dark"] .output-row .output-level-value { color: var(--ink); background: var(--surface); }
html[data-theme="dark"] .attenuation-head > strong,html[data-theme="dark"] .tap-row,html[data-theme="dark"] .splitter-table > strong { color: var(--ink); background: #343741; }
html[data-theme="dark"] .filter-tabs button.active { color: #c8c1ff; background: #3a354f; }
html[data-theme="dark"] .close-button { color: #c4c7d2; background: #2c303a; }
html[data-theme="dark"] .form-hint,
html[data-theme="dark"] .install-benefits span { color: #c5c7d1; background: #2a2b3a; }
html[data-theme="dark"] .report-meta { background: #1b1e26; }
html[data-theme="dark"] .report-outcome { border-color: #315544; background: #1c3027; }
html[data-theme="dark"] .report-outcome.canceled { border-color: #5a353c; background: #352329; }
html[data-theme="dark"] .danger-button { border-color: #68404a; color: #ffb2bd; background: #3a252b; }
html[data-theme="dark"] .admin-menu-card:hover,
html[data-theme="dark"] .tool-card:hover { background: #272a36; }

@media (max-width: 1000px) {
  .kanban-board { grid-template-columns: 1fr; }
  .kanban-column { border-right: 0; border-bottom: 1px solid var(--line); }
  .task-stack { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .board-heading { align-items: flex-start; }
  .board-tools { flex-direction: column; align-items: stretch; }
  .task-list-item > button { grid-template-columns: 105px minmax(180px,1fr) minmax(170px,1fr) 24px; }
  .task-list-meta { display: none; }
}
@media (max-width: 740px) {
  .task-list-board { padding: 13px; }
  .task-list-item > button { grid-template-columns: 1fr 22px; gap: 9px; padding: 13px; }
  .task-list-number,.task-list-main,.task-list-assignment { grid-column: 1; }
  .task-list-item > button > b { grid-column: 2; grid-row: 1 / 4; align-self: center; }
  .task-list-number { display: flex; align-items: center; justify-content: space-between; }
  .task-list-assignment > small,.task-list-main > small { white-space: normal; }
  .task-list-section > header { flex-wrap: wrap; }
  .task-list-export { width: 100%; margin: 4px 0 0 16px; }
  .task-list-export button { flex: 1; }
  .login-page { display: block; }
  .login-story { min-height: 280px; padding: 27px 23px; }
  .story-content { margin-top: 45px; }
  .story-content h1 { font-size: 37px; }
  .story-content > p, .story-footer { display: none; }
  .story-pills { margin-top: 20px; }
  .story-pills span { padding: 7px 9px; font-size: 8px; }
  .login-panel { padding: 37px 23px 50px; }
  .login-box h2 { font-size: 30px; }
  .topbar { height: 66px; padding: 0 15px; }
  .brand > span, .user-chip > span:last-child { display: none; }
  .topbar-actions { gap: 5px; }
  .topbar-actions .compact { width: 37px; padding: 0; font-size: 0; }
  .topbar-actions .compact span { font-size: 16px; }
  .user-chip { margin: 0; padding: 0 3px; border: 0; }
  .dashboard { padding: 28px 14px 50px; }
  .welcome-row { align-items: flex-start; }
  .welcome-row h1 { font-size: 30px; }
  .new-task-button { width: 48px; min-width: 48px; height: 48px; padding: 0; border-radius: 50%; font-size: 0; }
  .new-task-button span { font-size: 21px; }
  .stats-grid { gap: 7px; margin: 25px 0; }
  .stat-card { min-height: 100px; grid-template-columns: 1fr; gap: 5px; justify-items: center; padding: 10px 5px; text-align: center; }
  .stat-icon { width: 35px; height: 35px; border-radius: 10px; font-size: 15px; }
  .stat-card > span:nth-child(2) { display: block; }
  .stat-card small, .stat-card strong { display: block; }
  .stat-card strong { font-size: 25px; }
  .stat-card em, .stat-card > b { display: none; }
  .board-heading { display: block; padding: 18px 13px 13px; }
  .board-heading > div:first-child { margin-bottom: 14px; }
  .board-title { min-width: 0; }
  .network-period-filter { width: 100%; }
  .network-period-filter { flex-wrap: wrap; }
  .custom-date-range { order: 3; width: 100%; }
  .custom-date-range label { flex: 1; }
  .custom-date-range input { width: 100%; }
  .network-crew-filter { width: 100%; border-left: 0; padding-left: 0; }
  .network-crew-filter select { flex: 1; }
  .search-box { width: 100%; min-width: 0; }
  .filter-tabs { overflow-x: auto; }
  .filter-tabs button { flex: 1 0 auto; }
  .kanban-column { padding: 16px 11px 20px; }
  .task-stack { grid-template-columns: 1fr; }
  .dialog-backdrop { align-items: end; padding: 0; }
  .dialog { width: 100%; max-height: 95vh; border-radius: 20px 20px 0 0; }
  .dialog > header { padding: 19px 18px 15px; }
  .dialog-form, .detail-summary, .status-form { padding: 19px 18px 23px; }
  .form-row, .task-detail, .users-layout { grid-template-columns: 1fr; }
  .detail-summary { border-right: 0; border-bottom: 1px solid var(--line); }
  .users-list { max-height: 235px; border-right: 0; border-bottom: 1px solid var(--line); }
  .user-editor { padding: 20px 18px; }
  .user-editor form { grid-template-columns: 1fr; }
  .user-editor form h3, .user-editor form .full { grid-column: auto; }
  .admin-menu { grid-template-columns: 1fr; padding: 18px; }
  .admin-menu-card { min-height: 112px; grid-template-columns: 48px 1fr auto; padding: 16px; }
  .admin-menu-icon { width: 48px; height: 48px; border-radius: 13px; font-size: 22px; }
  .backup-layout { grid-template-columns: 1fr; padding: 14px; }
  .backup-note { grid-column: auto; }
  .notification-settings { padding: 14px; }
  .notification-panel { grid-template-columns: 48px 1fr; padding: 16px; }
  .notification-icon { width: 48px; height: 48px; }
  .notification-panel button { grid-column: 1 / -1; }
  .install-benefits { grid-template-columns: 1fr; }
  .copy-link-row { grid-template-columns: 1fr; }
  .report-filters { grid-template-columns: 1fr 1fr; padding: 14px; }
  .report-filters .primary-button { grid-column: 1 / -1; }
  .report-toolbar { align-items: stretch; flex-direction: column; padding: 12px 14px; }
  .report-print-area { padding: 14px; }
  .report-print-header { display: grid; }
  .report-task > header { align-items: flex-start; }
  .zones-admin-intro { align-items: flex-start; flex-direction: column; padding: 12px 15px; }
  .zones-admin-list { max-height: calc(95vh - 145px); grid-template-columns: 1fr; padding: 12px; }
  .zone-admin-card { grid-template-columns: 1fr; }
  .zone-admin-title { grid-column: auto; }
  #zones-map { height: calc(95vh - 75px); min-height: 520px; }
  .zones-map-note { bottom: 12px; text-align: center; }
  .tools-menu { padding: 14px; }
  .calculator-layout { grid-template-columns: 1fr; }
  .calculator-fields { padding: 19px 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .calculator-results { min-height: 340px; padding: 24px 18px; }
  .calculator-result-grid { grid-template-columns: 1fr; }
  .calculator-result-grid > div { grid-template-columns: 1fr auto; align-items: center; }
  .attenuation-calculator { padding: 12px; }
  .drive-area { min-height: 0; max-height: calc(95vh - 75px); overflow-y: auto; }
  .drive-toolbar { align-items: stretch; flex-direction: column; padding: 11px 13px; }
  .drive-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .new-folder-form { grid-template-columns: 1fr 1fr; padding: 11px 13px; }
  .new-folder-form input { grid-column: 1 / -1; }
  .drive-heading { display: grid; padding: 16px 13px 11px; }
  .drive-heading input { width: 100%; }
  .drive-list { overflow: visible; margin: 0 11px 14px; border: 0; background: transparent; }
  .drive-labels { display: none; }
  .drive-row { grid-template-columns: 1fr auto; gap: 9px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .drive-main, .drive-row-actions { grid-column: 1 / -1; }
  .drive-row-actions { padding-top: 8px; border-top: 1px solid #efeff3; }
  .drive-footer { align-items: flex-start; flex-direction: column; padding: 12px 15px; }
  .center-state { min-height: 350px; }
  .toast { right: 14px; bottom: 14px; max-width: calc(100% - 28px); }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media print {
  @page { margin: 14mm; }
  body { min-height: 0; background: white; }
  body > * { display: none !important; }
  #modal-root { display: block !important; }
  #modal-root .admin-workspace { position: static; display: block !important; min-height: 0; background: white; }
  #modal-root .admin-workspace-sidebar { display: none !important; }
  #modal-root .admin-workspace-main { display: block !important; height: auto; overflow: visible; padding: 0; }
  #modal-root .admin-workspace .dialog { min-height: 0; border: 0; }
  #modal-root .dialog-backdrop { position: static; display: block; padding: 0; background: white; backdrop-filter: none; }
  #modal-root .dialog { width: 100%; max-height: none; overflow: visible; border-radius: 0; box-shadow: none; }
  #modal-root .dialog > * { display: none !important; }
  #modal-root .dialog > .report-print-area { display: block !important; padding: 0; background: white; }
  .report-task { break-inside: avoid; border-color: #cfd1d8; }
  .report-print-header { border-color: #555; }
  .report-print-header strong { color: #222; }
}

.task-extra { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.module-switch { width: fit-content; display: flex; gap: 5px; margin: 0 0 20px; border: 1px solid var(--line); border-radius: 13px; padding: 5px; background: var(--surface); }
.module-switch button { min-height: 38px; border: 0; border-radius: 9px; padding: 0 15px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 850; }
.module-switch button.active { color: white; background: var(--violet); }
.module-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.module-row .module-switch { margin: 0; }
.stat-card.certified .stat-icon { color: #3569b8; background: #e8f0ff; }
.status-badge.certified { color: #315f9e; background: #e8f0ff; }
.kanban-column.certified .status-dot { background: #5e8ed7; }
.certification-pending,.certification-done { width: fit-content; margin: 7px 0 !important; border-radius: 7px; padding: 5px 8px; font-size: 9px !important; font-weight: 800; }
.certification-pending { color: #8a5a00 !important; background: #fff5d4; }
.certification-done { color: #315f9e !important; background: #e8f0ff; }
.result-box.certified,.report-outcome.certified { color: #315f9e; background: #e8f0ff; }
.certify-panel { display: grid; gap: 12px; }
.certify-panel > p { margin: 0; color: var(--muted); line-height: 1.55; }
.siga-step-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.siga-step-actions button { flex: 1 1 180px; }
.result-box.siga-assigned { color: #956319; background: #fff4d6; }
.certification-done.siga-obtained { color: #267b55 !important; background: var(--green-soft); }
.siga-certified-card { display: grid; gap: 6px; border: 1px solid #bed0ec; border-radius: 13px; padding: 16px; color: #315f9e; background: #e8f0ff; }
.siga-certified-card strong { font-size: 24px; }
.siga-certified-card small { opacity: .75; }
html[data-theme="dark"] .certification-pending { color: #ffd67b !important; background: #302b20; }
html[data-theme="dark"] .certification-done,html[data-theme="dark"] .result-box.certified,html[data-theme="dark"] .siga-certified-card { color: #a9c9ff !important; border-color: #344a6d; background: #202b3c; }
html[data-theme="dark"] .result-box.siga-assigned { color: #ffd98a; background: #382f21; }
@media(max-width:900px){.kanban-board.four-columns{grid-template-columns:1fr}.module-row{align-items:stretch}}
.affected-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.affected-clients { margin: 7px 0; color: #b74b53; font-size: 9px; font-weight: 850; }
.network-client { margin: 7px 0; color: var(--muted); font-size: 9px; }
.optional { color: var(--muted); font-size: 8px; font-weight: 500; }
.task-extra summary { padding: 12px 14px; cursor: pointer; font-size: 10px; font-weight: 850; }
.task-extra summary small { margin-left: 6px; color: var(--muted); font-weight: 600; }
.extra-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding: 0 14px 14px; }
.extra-grid .full { grid-column: 1 / -1; }
.materials-picker { padding: 0 12px 12px; }
.material-search-page { min-height: 430px; padding: 24px; background: var(--page); }
.material-search-box { display: grid; gap: 8px; max-width: 760px; margin: 0 auto 18px; }
.material-search-box span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.material-search-box input { min-height: 54px; border: 2px solid var(--line); border-radius: 14px; padding: 0 18px; background: var(--surface); font-size: 16px; }
.material-search-box input:focus { border-color: var(--violet); box-shadow: 0 0 0 4px rgba(104,82,230,.12); outline: none; }
.office-material-results { max-width: 760px; margin: 0 auto; }
.material-search-empty { display: grid; justify-items: center; gap: 8px; padding: 72px 20px; color: var(--muted); text-align: center; }
.material-search-empty i { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--violet-soft); color: var(--violet); font-size: 28px; font-style: normal; }
.material-search-empty strong { color: var(--ink); font-size: 17px; }
.material-search-empty span { font-size: 10px; }
.material-result-count { margin: 0 0 9px; color: var(--muted); font-size: 10px; font-weight: 700; }
.material-result-list { display: grid; gap: 8px; }
.material-result-list article { display: grid; grid-template-columns: minmax(100px,150px) 1fr auto; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: var(--surface); }
.material-result-list article strong { color: var(--violet); font-size: 12px; }
.material-result-list article span { color: var(--ink); font-size: 12px; font-weight: 700; }
.material-result-list article small { color: var(--muted); font-size: 9px; }
@media (max-width: 620px) { .material-search-page { padding: 16px; } .material-result-list article { grid-template-columns: 1fr auto; } .material-result-list article span { grid-column: 1 / -1; grid-row: 2; } }
.materials-search { display: block; margin-bottom: 9px; }
.materials-picker-list { max-height: 310px; display: grid; gap: 7px; overflow-y: auto; }
.material-pick { display: grid; grid-template-columns: 24px 1fr 82px; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; padding: 9px; background: var(--surface); }
.material-pick > input { width: 18px; height: 18px; }
.material-pick > span { display: grid; gap: 2px; }
.material-pick small { color: var(--muted); font-size: 8px; }
.material-qty { font-size: 8px; }
.material-qty input { min-height: 34px; padding: 6px; }
.loaded-materials { margin-top: 15px; border-top: 1px solid var(--line); padding-top: 13px; }
.loaded-materials h4,.task-attachments h4 { margin: 0 0 8px; font-size: 11px; }
.loaded-materials p { display: grid; grid-template-columns: 70px 1fr auto; gap: 8px; margin: 0; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 9px; }
.task-attachments { margin-top: 15px; }
.task-files-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:7px;max-width:430px}.task-file-thumb{position:relative;height:68px;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#f7f8fb;color:var(--ink);text-decoration:none;cursor:pointer}.task-file-thumb.image{padding:0}.task-file-thumb.image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .2s}.task-file-thumb.image>span{position:absolute;right:5px;bottom:5px;width:21px;height:21px;display:grid;place-items:center;border-radius:7px;background:rgba(20,24,45,.76);color:#fff;font-size:12px}.task-file-thumb.image:hover img{transform:scale(1.06)}.task-file-thumb.file{display:grid;place-items:center;align-content:center;gap:5px;padding:6px}.task-file-thumb.file i{font-style:normal;color:var(--violet);font-size:12px;font-weight:950}.task-file-thumb.file small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-image-viewer{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;gap:12px;padding:18px;background:rgba(7,9,18,.92);backdrop-filter:blur(8px)}.task-image-viewer-bar{width:min(1100px,100%);display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff}.task-image-viewer-bar>span{font-size:11px;font-weight:850}.task-image-viewer-bar>div{display:flex;align-items:center;gap:8px}.task-image-viewer-bar a,.task-image-viewer-bar button{padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.09);color:#fff;text-decoration:none;font-size:10px;font-weight:850}.task-image-viewer-bar button{width:36px;height:36px;padding:0;font-size:22px;cursor:pointer}.task-image-viewer>img{max-width:min(1100px,100%);max-height:calc(100vh - 120px);object-fit:contain;border-radius:10px;box-shadow:0 22px 70px rgba(0,0,0,.45)}.task-image-viewer>small{max-width:min(700px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b9bfd0;font-size:9px;text-align:center}html[data-theme="dark"] .task-file-thumb{background:#22242d}@media(max-width:600px){.task-files-list{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.task-file-thumb{height:58px}.task-image-viewer{padding:10px}.task-image-viewer-bar>span,.task-image-viewer>small{display:none}.task-image-viewer-bar{justify-content:flex-end}.task-image-viewer-bar a{padding:8px 10px}.task-image-viewer>img{max-height:calc(100vh - 70px)}}
.task-files-list small,.compact-note { color: var(--muted); font-size: 8px; }
.catalog-admin,.catalog-list,.audit-list { padding: 18px 22px; background: var(--page); }
.bulk-import-bar { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 13px; padding: 12px; background: var(--surface); }
.bulk-import-bar > span { display: grid; gap: 3px; margin-right: auto; }
.bulk-import-bar small { color: var(--muted); font-size: 8px; }
.material-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.material-stats article { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 58px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 13px; background: var(--surface); }
.material-stats article.active { border-left: 3px solid var(--green); }
.material-stats article.inactive { border-left: 3px solid var(--red); }
.material-stats article.total { border-left: 3px solid var(--violet); }
.material-stats span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.material-stats strong { color: var(--ink); font-size: 23px; }
.import-preview { display: grid; gap: 14px; padding: 20px 24px; }
.preview-table { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; }
.preview-table > div { display: grid; grid-template-columns: 120px 1fr 100px; gap: 8px; padding: 8px 11px; border-bottom: 1px solid var(--line); font-size: 9px; }
.preview-table > div:first-child { background: var(--page); }
.import-preview > small { color: var(--muted); }.import-preview footer{display:flex;justify-content:flex-end;gap:9px}
.catalog-create,.catalog-row { display: grid; grid-template-columns: 130px 1fr 100px auto auto; gap: 8px; margin-bottom: 9px; }
.catalog-row { border: 1px solid var(--line); border-radius: 12px; padding: 10px; background: var(--surface); }
.catalog-row.material-inactive { opacity: .68; border-style: dashed; }
.catalog-row.material-inactive:focus-within { opacity: 1; }
.roles-layout { display: grid; grid-template-columns: 260px 1fr; min-height: 520px; }
.roles-layout aside { padding: 14px; border-right: 1px solid var(--line); background: var(--page); }
.role-editor { display: grid; align-content: start; gap: 15px; padding: 24px; }
.permission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.permission-grid label { display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; padding: 11px; }
.permission-grid input { width: 18px; height: 18px; }
.trash-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 9px; border-bottom: 1px solid var(--line); padding: 11px; }
.trash-row span { display: grid; gap: 4px; }.trash-row small{color:var(--muted)}
.audit-list article { display: grid; grid-template-columns: 150px 170px 1fr; gap: 12px; border-bottom: 1px solid var(--line); padding: 11px; font-size: 9px; }
.audit-list time { color: var(--muted); }
.audit-filters { display:grid; grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(125px,1fr)) auto auto; gap:10px; align-items:end; padding:18px 22px; background:#faf9ff; border-bottom:1px solid var(--line); }
.audit-filters label { font-size:8px; font-weight:800; color:var(--muted); }
.audit-filters input,.audit-filters select { width:100%; margin-top:5px; padding:9px 10px; font-size:10px; }
.audit-filters button { min-height:38px; white-space:nowrap; }
.audit-summary { padding:12px 22px; background:var(--page); border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; }
.audit-summary strong { color:var(--ink); font-size:14px; margin-right:4px; }
.audit-list.improved { padding-top:8px; }
.audit-list.improved .audit-row { grid-template-columns:155px 170px 34px minmax(0,1fr); align-items:center; gap:14px; padding:13px 12px; border-left:3px solid transparent; }
.audit-list.improved .audit-row:hover { background:rgba(94,74,224,.035); }
.audit-user,.audit-event { display:flex; flex-direction:column; gap:3px; min-width:0; }
.audit-user strong,.audit-event strong { color:var(--ink); font-size:10px; }
.audit-user small,.audit-event small { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.audit-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#eef0ff; color:#4e46b8; font-size:13px; font-weight:900; }
.audit-event p { margin:3px 0 0; padding:7px 9px; border-radius:7px; background:#fff7df; color:#6d5620; font-size:9px; line-height:1.45; }
.audit-create { border-left-color:#48a778 !important; }.audit-create .audit-icon { background:#e8f7ef; color:#267453; }
.audit-edit { border-left-color:#6d64d8 !important; }.audit-edit .audit-icon { background:#eeecff; color:#5047bb; }
.audit-status { border-left-color:#3b8ec9 !important; }.audit-status .audit-icon { background:#e7f4fc; color:#2874a9; }
.audit-delete { border-left-color:#d46469 !important; }.audit-delete .audit-icon { background:#fdebec; color:#a94449; }
.audit-system { border-left-color:#9aa2ad !important; }.audit-system .audit-icon { background:#eef1f4; color:#66707d; }
html[data-theme="dark"] .audit-filters { background:#191b25; }
html[data-theme="dark"] .audit-event p { background:#332d1d; color:#e9cf86; }
.report-materials { padding: 12px 17px; border-top: 1px solid var(--line); }
.report-materials > strong { font-size: 9px; text-transform: uppercase; }
.report-materials table,.consult-materials table { width: 100%; margin-top: 8px; border-collapse: collapse; font-size: 9px; }
.report-materials th,.report-materials td,.consult-materials th,.consult-materials td { border: 1px solid var(--line); padding: 6px 8px; text-align: left; }
.report-material-summary { margin-top: 20px; border: 2px solid #444; padding: 16px; break-inside: avoid; }
.report-material-summary h2 { margin: 0 0 10px; font-size: 14px; }
.report-material-summary table { width: 100%; border-collapse: collapse; font-size: 9px; }
.report-material-summary th,.report-material-summary td { border: 1px solid #aaa; padding: 7px; text-align: left; }
.public-consult { min-height: 100vh; padding: 40px 18px; background: var(--page); }
.consult-card { max-width: 850px; margin: auto; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: 0 20px 60px rgba(30,32,42,.12); }
.consult-card > header,.consult-card > section,.consult-card > footer,.consult-empty { padding: 22px 28px; }
.consult-card h1 { margin: 7px 0 12px; }.consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line)}
.consult-grid p{display:grid;gap:5px;margin:0}.consult-grid p.wide{grid-column:1/-1}.consult-grid span{color:var(--muted);font-size:9px;text-transform:uppercase}.consult-materials{border-top:1px solid var(--line)}.consult-card footer{color:var(--muted);border-top:1px solid var(--line);font-size:9px}
@media(max-width:740px){.extra-grid,.permission-grid,.consult-grid,.affected-fields{grid-template-columns:1fr}.extra-grid .full,.consult-grid p.wide{grid-column:auto}.catalog-create,.catalog-row,.trash-row,.audit-list article{grid-template-columns:1fr}.audit-filters{grid-template-columns:1fr 1fr;padding:14px}.audit-filters label:first-child,.audit-filters button{grid-column:1/-1}.audit-list.improved .audit-row{grid-template-columns:1fr 34px minmax(0,2fr)}.audit-list.improved .audit-row time{grid-column:1/-1}.roles-layout{grid-template-columns:1fr}.roles-layout aside{border-right:0;border-bottom:1px solid var(--line)}.bulk-import-bar{align-items:stretch;flex-direction:column}.bulk-import-bar>span{margin-right:0}.preview-table>div{grid-template-columns:80px 1fr}.preview-table>div>*:last-child{display:none}.module-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}.module-switch button{padding:0 7px}}

.devices-admin { min-height: 560px; background: var(--page); }
.devices-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px 15px; background: var(--surface); }
.devices-heading > div { display: grid; gap: 4px; }
.devices-heading strong { font-size: 14px; }
.devices-heading span { color: var(--muted); font-size: 9px; }
.device-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; padding: 0 24px 16px; background: var(--surface); }
.device-stats article { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 13px; padding: 13px 15px; background: var(--page); }
.device-stats small { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.device-stats strong { color: var(--violet); font-size: 22px; }
.device-filters { display: grid; grid-template-columns: minmax(220px, 1.4fr) 170px minmax(220px, 1fr) auto; align-items: end; gap: 10px; padding: 14px 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.device-filters label { color: var(--muted); font-size: 8px; font-weight: 800; }
.device-filters input,.device-filters select { margin-top: 5px; }
.device-box-list { display: grid; gap: 9px; padding: 16px 24px 25px; }
.device-box-card { width: 100%; display: grid; grid-template-columns: 105px minmax(240px, 1fr) 80px 110px 88px 170px 18px; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 14px; padding: 13px 15px; color: var(--ink); background: var(--surface); text-align: left; }
.device-box-card:hover { border-color: var(--violet); box-shadow: 0 7px 22px rgba(74,62,160,.09); }
.device-box-code { color: var(--violet); font-size: 13px; font-weight: 900; }
.device-box-article { min-width: 0; display: grid; gap: 3px; }
.device-box-article strong { font-size: 9px; }
.device-box-article small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.device-box-count { display: grid; text-align: center; }
.device-box-count strong { font-size: 15px; }
.device-box-count small,.device-box-date,.device-box-accessories { color: var(--muted); font-size: 8px; }
.device-box-state { display: inline-grid; place-items: center; min-height: 25px; border-radius: 999px; padding: 0 9px; font-size: 8px; font-weight: 850; }
.device-box-state.available { color: #23704d; background: #e6f6ed; }
.device-box-state.delivered { color: #676b76; background: #ececf1; }
.device-box-card > b { color: var(--violet); font-size: 17px; }
.device-empty { display: grid; place-items: center; gap: 7px; min-height: 230px; color: var(--muted); text-align: center; }
.device-empty > span { color: var(--violet); font-size: 34px; }
.device-empty strong { color: var(--ink); }
.device-empty p { margin: 0; font-size: 9px; }

.device-editor { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(420px, 1.22fr); }
.device-box-fields { display: grid; align-content: start; gap: 16px; padding: 22px; border-right: 1px solid var(--line); background: var(--surface); }
.device-editor label { color: var(--muted); font-size: 8px; font-weight: 800; }
.device-editor input,.device-editor select,.device-editor textarea { margin-top: 6px; }
.device-number-row { display: grid; grid-template-columns: 125px 1fr; align-items: center; gap: 10px; }
.device-number-row input { margin: 0; }
.device-number-row span { color: var(--violet); font-size: 8px; font-weight: 850; }
.device-code-preview { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px dashed #b9b2ef; border-radius: 12px; padding: 11px 13px; background: var(--violet-soft); }
.device-code-preview span { color: var(--muted); font-size: 8px; }
.device-code-preview strong { color: var(--violet); font-size: 14px; }
.device-accessories { display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 12px; padding: 12px; color: var(--ink) !important; background: var(--page); }
.device-accessories > input { width: 20px; height: 20px; margin: 0; }
.device-accessories > span { display: grid; gap: 4px; }
.device-accessories small { color: var(--muted); font-size: 8px; font-weight: 500; }
.device-scanner { min-width: 0; display: grid; grid-template-rows: auto auto auto minmax(250px, 1fr); align-content: start; gap: 11px; padding: 22px; background: var(--page); }
.device-scanner-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.device-scanner-heading > span { display: grid; gap: 4px; }
.device-scanner-heading > span strong { font-size: 14px; }
.device-scanner-heading > span small { color: var(--muted); font-size: 8px; }
.device-scanner-heading > b { min-width: 105px; display: grid; place-items: center; border-radius: 13px; padding: 10px; color: white; background: var(--violet); }
.device-scanner-heading > b span { font-size: 22px; }
.device-scanner-heading > b small { font-size: 7px; text-transform: uppercase; }
.scanner-input { display: grid; grid-template-columns: 35px 1fr; align-items: center; border: 2px solid var(--violet); border-radius: 13px; padding-left: 11px; color: var(--violet) !important; background: var(--surface); box-shadow: 0 0 0 4px rgba(98,84,202,.08); }
.scanner-input > span { font-size: 21px; }
.scanner-input input { border: 0; margin: 0; box-shadow: none; background: transparent; }
.device-scan-feedback { min-height: 17px; color: var(--muted); font-size: 8px; }
.device-scan-feedback.success { color: #23704d; }
.device-scan-feedback.error { color: #b23b43; }
.device-scan-notices{position:fixed;z-index:160;top:78px;right:22px;width:min(360px,calc(100% - 30px));display:grid;gap:7px;pointer-events:none}.device-scan-notice{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:10px 13px;color:#fff;background:rgba(28,35,48,.95);box-shadow:0 14px 38px rgba(18,24,35,.24);backdrop-filter:blur(12px);animation:device-scan-in .18s ease-out}.device-scan-notice>i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-style:normal;font-size:16px;font-weight:950}.device-scan-notice.success>i{color:#126d48;background:#bff0d7}.device-scan-notice.error>i{color:#9b2935;background:#ffd9dc}.device-scan-notice>span{min-width:0;display:grid;gap:2px}.device-scan-notice strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,monospace;font-size:12px}.device-scan-notice small{font-size:7px;font-weight:900;letter-spacing:.09em}.device-scan-notice.leaving{opacity:0;transform:translateX(14px);transition:.18s}.device-today-button{display:flex;align-items:center;gap:7px}.device-today-button>b{min-width:20px;height:20px;display:grid;place-items:center;border-radius:99px;color:#fff;background:var(--violet);font-size:8px}.device-today{padding:22px;background:var(--page)}.device-today-summary{display:flex;align-items:baseline;gap:9px;margin-bottom:13px;border:1px solid var(--line);border-radius:14px;padding:15px 17px;background:var(--surface)}.device-today-summary>span{color:var(--violet);font-size:8px;font-weight:900;letter-spacing:.1em}.device-today-summary>strong{font-size:25px}.device-today-summary>small{color:var(--muted);font-size:9px}.device-today-list{display:grid;gap:8px}.device-today-list>button{width:100%;display:grid;grid-template-columns:minmax(190px,1fr) 100px minmax(220px,1fr) 18px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px 15px;color:var(--ink);background:var(--surface);text-align:left}.device-today-list>button:hover{border-color:var(--violet);box-shadow:0 7px 22px rgba(74,62,160,.09)}.device-today-list>button>span{min-width:0;display:grid;gap:3px}.device-today-list>button strong,.device-today-list>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-today-list>button strong{font-size:10px}.device-today-list>button small{color:var(--muted);font-size:8px}.device-today-list>button>b{font-size:9px}.device-today-list>button>i{color:var(--violet);font-style:normal;font-weight:900}@keyframes device-scan-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:760px){.device-scan-notices{top:66px;right:10px;width:calc(100% - 20px)}.device-today-list>button{grid-template-columns:1fr auto}.device-today-list>button>span:last-of-type{grid-column:1/-1}.device-today-list>button>i{display:none}}
.device-serial-list { max-height: 390px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.device-serial-row { display: grid; grid-template-columns: 28px 1fr 170px 28px; align-items: center; gap: 8px; min-height: 41px; border-bottom: 1px solid var(--line); padding: 6px 9px; }
.device-serial-row.checking { opacity: .65; }
.device-serial-row > span { color: var(--muted); font-size: 8px; text-align: center; }
.device-serial-row strong { font-family: Consolas, monospace; font-size: 10px; }
.device-serial-row small { overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.device-serial-row button { width: 26px; height: 26px; border: 0; border-radius: 8px; color: #b23b43; background: #fff0f1; }
.device-serial-empty { margin: 0; padding: 28px 15px; color: var(--muted); font-size: 8px; text-align: center; }
.device-editor > footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 9px; padding: 14px 22px; border-top: 1px solid var(--line); background: var(--surface); }

.device-detail { display: grid; grid-template-columns: minmax(290px, .72fr) minmax(430px, 1.28fr); background: var(--page); }
.device-detail-summary { display: grid; align-content: start; gap: 0; padding: 22px; border-right: 1px solid var(--line); background: var(--surface); }
.device-detail-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.device-detail-title > strong { font-size: 11px; }
.device-detail-summary > p { display: grid; gap: 4px; margin: 0; border-bottom: 1px solid var(--line); padding: 10px 0; }
.device-detail-summary > p span,.device-comments > span { color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.device-detail-summary > p strong { font-size: 9px; line-height: 1.5; }
.device-delivery-summary { display: grid; gap: 5px; margin-top: 14px; border-radius: 13px; padding: 14px; color: #f3f1ff; background: #5144ad; }
.device-delivery-summary span { font-size: 7px; font-weight: 850; }
.device-delivery-summary strong { color: white; font-size: 15px; }
.device-delivery-summary small { font-size: 8px; }
.device-comments { margin-top: 13px; border-radius: 11px; padding: 12px; background: var(--page); }
.device-comments p { margin: 6px 0 0; font-size: 8px; line-height: 1.55; }
.device-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.device-detail-serials { min-width: 0; padding: 22px; }
.device-detail-serials > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 11px; }
.device-detail-serials > header > span { display: grid; gap: 3px; }
.device-detail-serials > header strong { font-size: 13px; }
.device-detail-serials > header small { color: var(--muted); font-size: 8px; }
.device-detail-serial-list { max-height: 480px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.device-detail-serial-list > div { display: grid; grid-template-columns: 32px 1fr 180px; align-items: center; gap: 9px; min-height: 38px; border-bottom: 1px solid var(--line); padding: 6px 10px; }
.device-detail-serial-list span,.device-detail-serial-list small { color: var(--muted); font-size: 7px; }
.device-detail-serial-list strong { font-family: Consolas, monospace; font-size: 10px; }
.device-history { grid-column: 1 / -1; padding: 18px 22px 24px; border-top: 1px solid var(--line); background: var(--surface); }
.device-history h3 { margin: 0 0 11px; font-size: 12px; }
.device-history article { display: grid; grid-template-columns: 12px 1fr; gap: 9px; padding: 7px 0; }
.device-history article > span { width: 9px; height: 9px; margin-top: 4px; border: 2px solid var(--violet); border-radius: 50%; }
.device-history article > div { display: grid; gap: 3px; }
.device-history strong { font-size: 9px; }
.device-history small,.device-history p { margin: 0; color: var(--muted); font-size: 8px; }
.delivery-box-preview { display: grid; gap: 5px; border-radius: 14px; padding: 15px; color: white; background: var(--violet); }
.delivery-box-preview span { font-size: 19px; font-weight: 900; }
.delivery-box-preview strong { font-size: 11px; }
.delivery-box-preview small { color: #e2ddff; font-size: 8px; }
.automatic-date { display: grid; gap: 5px; border: 1px solid var(--line); border-radius: 11px; padding: 12px; background: var(--page); }
.automatic-date span { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.automatic-date strong { font-size: 9px; }

html[data-theme="dark"] .devices-heading,
html[data-theme="dark"] .device-filters,
html[data-theme="dark"] .device-box-card,
html[data-theme="dark"] .device-box-fields,
html[data-theme="dark"] .device-serial-list,
html[data-theme="dark"] .device-editor > footer,
html[data-theme="dark"] .device-detail-summary,
html[data-theme="dark"] .device-detail-serial-list,
html[data-theme="dark"] .device-history { background: var(--surface); }
html[data-theme="dark"] .device-stats,
html[data-theme="dark"] .device-scanner,
html[data-theme="dark"] .device-detail,
html[data-theme="dark"] .device-comments,
html[data-theme="dark"] .automatic-date { background: var(--page); }
html[data-theme="dark"] .device-box-state.available { color: #9be0ba; background: #244737; }
html[data-theme="dark"] .device-box-state.delivered { color: #c9cbd2; background: #383b44; }
html[data-theme="dark"] .device-serial-row button { color: #ffadb3; background: #542d32; }

@media (max-width: 900px) {
  .device-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .device-filters { grid-template-columns: 1fr 1fr; }
  .device-search { grid-column: 1 / -1; }
  .device-box-card { grid-template-columns: 90px 1fr 65px 90px; }
  .device-box-card .device-box-state,.device-box-card .device-box-date { grid-column: auto; }
  .device-box-card > b { display: none; }
  .device-editor,.device-detail { grid-template-columns: 1fr; }
  .device-box-fields,.device-detail-summary { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .devices-heading { align-items: stretch; flex-direction: column; padding: 16px; }
  .device-stats { grid-template-columns: 1fr 1fr; padding: 0 16px 14px; }
  .device-filters { grid-template-columns: 1fr; padding: 13px 16px; }
  .device-search { grid-column: auto; }
  .device-box-list { padding: 12px 16px 20px; }
  .device-box-card { grid-template-columns: 1fr auto; gap: 8px; padding: 12px; }
  .device-box-article,.device-box-date { grid-column: 1 / -1; }
  .device-box-count { grid-row: 1; grid-column: 2; }
  .device-box-accessories { grid-column: 1; }
  .device-box-state { grid-column: 2; }
  .device-editor { display: block; }
  .device-box-fields,.device-scanner { padding: 17px; }
  .device-number-row { grid-template-columns: 105px 1fr; }
  .device-scanner-heading { align-items: flex-start; }
  .device-serial-row { grid-template-columns: 25px 1fr 27px; }
  .device-serial-row small { grid-column: 2; }
  .device-editor > footer { position: sticky; bottom: 0; }
  .device-detail-summary,.device-detail-serials,.device-history { padding: 17px; }
  .device-detail-serials > header { align-items: stretch; flex-direction: column; }
  .device-detail-serial-list > div { grid-template-columns: 25px 1fr; }
  .device-detail-serial-list small { grid-column: 2; }
}

/* Caja chica */
.petty-header-actions { display: flex; align-items: center; gap: 10px; }
.petty-layout { grid-template-columns: 285px minmax(0, 1fr); min-height: 640px; background: #f7f8fc; }
.petty-funds { padding: 18px; gap: 10px; background: #f1f2f8; }
.petty-funds-title { display: flex; justify-content: space-between; align-items: center; padding: 4px 4px 10px; }
.petty-funds-title span,.petty-section-title span { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.petty-funds-title strong { font-size: 11px; color: var(--muted); }
.petty-funds button { position: relative; grid-template-columns: 38px 1fr; gap: 10px; padding: 14px; border-radius: 15px; box-shadow: 0 3px 12px rgba(31,31,55,.03); }
.petty-funds button > i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: #252038; font-style: normal; font-size: 17px; font-weight: 900; }
.petty-funds button > span { display: grid; gap: 3px; min-width: 0; color: inherit; text-transform: none; }
.petty-funds button > span strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.petty-funds button > span b { color: var(--ink); font-size: 10px; }
.petty-funds button > em { position: absolute; right: 10px; top: 10px; border-radius: 999px; padding: 3px 6px; color: #27795d; background: #e0f5eb; font-size: 7px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.petty-funds button.active { border-color: #7061db; background: #fff; box-shadow: 0 8px 24px rgba(98,84,202,.13); transform: translateY(-1px); }
.petty-funds button.active > i { background: linear-gradient(145deg,#6959da,#493cad); }
.petty-detail { gap: 18px; padding: 24px; }
.petty-hero { position: relative; overflow: hidden; flex-direction: column; align-items: stretch; min-height: 270px; padding: 28px 30px; border-radius: 22px; background: linear-gradient(125deg,#25203b 0%,#463b90 54%,#7563dc 100%); box-shadow: 0 16px 38px rgba(66,55,140,.22); }
.petty-hero::after { content:""; position:absolute; width:280px; height:280px; right:-105px; top:-145px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 88px rgba(255,255,255,.025); }
.petty-balance { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; }
.petty-balance > i { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: rgba(255,255,255,.13); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); font-style: normal; font-size: 26px; font-weight: 900; }
.petty-balance span { color: #c7c1ff; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.petty-balance h3 { margin: 5px 0 1px; font-size: clamp(30px,4vw,43px); letter-spacing: -.04em; }
.petty-kpis { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; margin-top: auto; }
.petty-kpis span { min-width: 0; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; backdrop-filter: blur(5px); }
.petty-kpis small { color: #d8d4f8; font-size: 8px; font-weight: 700; }
.petty-kpis strong { min-width: 0; overflow: hidden; font-size: clamp(13px,1.65vw,18px); text-overflow: ellipsis; white-space: nowrap; }
.petty-delete-fund { margin-left: auto; }
.petty-kpis .alert { background: rgba(255,180,93,.17); }
.petty-actions { align-items: center; padding: 2px 0; }
.petty-section-title { display: flex; justify-content: space-between; align-items: end; padding: 4px 2px 0; }
.petty-section-title h3 { margin: 4px 0 0; font-size: 18px; }
.petty-section-title > strong { display: grid; place-items: center; min-width: 32px; height: 32px; border-radius: 10px; color: var(--violet); background: var(--violet-soft); }
.petty-list article { align-items: center; padding: 16px 18px; border-radius: 16px; box-shadow: 0 4px 16px rgba(31,31,55,.035); }
.petty-list article > div:first-child { grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; }
.petty-list article > div:first-child > strong,.petty-list article > div:first-child > small,.petty-list article > div:first-child > p,.petty-list article > div:first-child > .petty-note { grid-column: 2; }
.petty-list article > div:first-child > strong b { margin-left: 7px; color: var(--violet); }
.petty-list article p { margin: 1px 0; color: var(--ink); font-size: 11px; }
.petty-state { grid-row: 1 / span 4; grid-column: 1; writing-mode: vertical-rl; transform: rotate(180deg); padding: 7px 5px; border-radius: 8px; }
.petty-list-empty,.petty-empty { display: grid; place-items: center; text-align: center; color: var(--muted); }
.petty-list-empty { min-height: 210px; border: 1px dashed #d9d9e5; border-radius: 18px; background: rgba(255,255,255,.65); }
.petty-list-empty i,.petty-empty i { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 8px; border-radius: 18px; color: var(--violet); background: var(--violet-soft); font-size: 25px; font-style: normal; font-weight: 900; }
.petty-list-empty strong { color: var(--ink); font-size: 15px; }
.petty-list-empty span { max-width: 340px; font-size: 10px; }
.petty-empty { min-height: 520px; padding: 40px; }
.petty-empty > span { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.petty-empty h3 { margin: 8px 0; color: var(--ink); font-size: 24px; }
.petty-empty p { max-width: 450px; margin: 0; line-height: 1.6; }
html[data-theme="dark"] .petty-layout { background: #181a22; }
html[data-theme="dark"] .petty-funds { background: #15171e; }
html[data-theme="dark"] .petty-funds button.active { background: #22242d; }
html[data-theme="dark"] .petty-list-empty { background: rgba(255,255,255,.025); }
@media(max-width:860px){.petty-layout{grid-template-columns:1fr}.petty-funds{grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--line)}.petty-funds-title{grid-column:1/-1}.petty-hero{align-items:flex-start;flex-direction:column}.petty-kpis{width:100%}}
@media(max-width:600px){.petty-funds{grid-template-columns:1fr}.petty-detail{padding:15px}.petty-hero{padding:21px}.petty-kpis{grid-template-columns:1fr}.petty-header-actions{align-items:flex-end;flex-direction:column}.petty-list article{align-items:flex-start;flex-direction:column}}

/* Administración v3 · espacio de trabajo de pantalla completa */
.admin-workspace{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:270px minmax(0,1fr);background:#f4f5f8;color:var(--ink)}
.admin-workspace-sidebar{min-width:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#15182d;color:#fff;box-shadow:10px 0 35px rgba(19,23,47,.12)}
.admin-workspace-sidebar>header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-workspace-brand{min-width:0;display:flex;align-items:center;gap:10px}.admin-workspace-brand>.brand-mark{width:34px;height:34px;flex:0 0 34px}.admin-workspace-brand>span:last-child{min-width:0;display:grid;gap:2px}.admin-workspace-brand strong{display:flex;align-items:center;font-size:17px;letter-spacing:-.7px}.admin-workspace-brand strong b{font:inherit}.admin-workspace-brand strong b:first-child{color:#ff914d}.admin-workspace-brand strong b:last-child{color:#31b8dd}.admin-workspace-brand strong em{margin:0 3px;color:#fff;font-style:normal}.admin-workspace-brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:7px;font-weight:850;letter-spacing:.2px}.admin-workspace-brand u{color:#8f96bd;font-size:6px;font-weight:950;letter-spacing:1.35px;text-decoration:none}
.admin-workspace-sidebar>header button{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;font-size:19px;cursor:pointer}
.admin-workspace-sidebar nav{min-height:0;flex:1 1 auto;overflow:auto;padding:10px 12px 14px}.admin-workspace-sidebar nav section{display:grid;gap:3px;margin-bottom:10px}.admin-workspace-sidebar nav section>small{padding:6px 10px 4px;color:#777f9f;font-size:7px;font-weight:950;letter-spacing:1.35px}
.admin-workspace-sidebar nav button,.admin-workspace-sidebar nav a{width:100%;min-height:42px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:#c9cee4;text-align:left;text-decoration:none;font-size:11px;font-weight:750;cursor:pointer}
.admin-workspace-sidebar nav button:hover,.admin-workspace-sidebar nav a:hover{background:rgba(255,255,255,.065);color:#fff}.admin-workspace-sidebar nav button.active{background:#655add;color:#fff;box-shadow:0 8px 22px rgba(84,72,215,.3)}
.admin-workspace-sidebar nav i{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:rgba(255,255,255,.07);font-style:normal;font-size:13px}.admin-workspace-sidebar>footer{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:16px 18px;border-top:1px solid rgba(255,255,255,.1)}
.admin-workspace-sidebar>footer{flex:0 0 auto;background:#111428}.admin-workspace-sidebar>footer .avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#6c5ce7,#5147bd);font-weight:900}.admin-workspace-sidebar>footer>span:last-child{display:grid;gap:2px;min-width:0}.admin-workspace-sidebar>footer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.admin-workspace-sidebar>footer small{color:#929ab9;font-size:8px}
.admin-workspace-main{min-width:0;height:100vh;overflow:auto;padding:22px}.admin-workspace .dialog,.admin-workspace .dialog.wide{width:100%;min-height:calc(100vh - 44px);max-height:none;overflow:visible;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(30,37,67,.08)}
.admin-workspace .dialog>header{position:sticky;top:-22px;z-index:5;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.admin-home-header{min-height:180px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:36px 42px!important;background:linear-gradient(135deg,#fafaff,#f1efff)!important}
.admin-home-title{display:flex;align-items:center;gap:18px}.admin-home-title>.brand-mark{width:54px;height:54px;padding:9px;border-radius:16px;box-shadow:0 12px 28px rgba(101,90,221,.22)}.admin-home-header .eyebrow{margin:0 0 8px}.admin-home-header h2{margin:0;font-size:36px;letter-spacing:-1.5px}.admin-home-header p{margin:8px 0 0;color:var(--muted)}.admin-return-button{padding:11px 14px;border:1px solid #d9d7ee;border-radius:10px;background:#fff;color:#4e47af;font-weight:850;cursor:pointer}
.admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 34px 0;padding:24px 28px;border-radius:16px;background:linear-gradient(115deg,#5f53d9 0%,#7467e8 62%,#6c61df 100%);color:#fff;overflow:hidden}.admin-welcome span{font-size:8px;font-weight:950;letter-spacing:1.35px;color:#d9d5ff}.admin-welcome h3{margin:5px 0 4px;font-size:24px}.admin-welcome p{margin:0;color:#e6e3ff;font-size:11px}.admin-welcome>i{position:relative;width:150px;height:58px;flex:0 0 150px}.admin-welcome>i:before{content:"";position:absolute;inset:-80px -35px -80px 0;border-radius:50%;background:rgba(255,255,255,.07)}.admin-welcome>i b{position:absolute;bottom:4px;width:13px;border-radius:6px 6px 3px 3px;background:#fff;transform:rotate(-5deg)}.admin-welcome>i b:nth-child(1){right:86px;height:22px}.admin-welcome>i b:nth-child(2){right:54px;height:38px}.admin-welcome>i b:nth-child(3){right:22px;height:54px;background:#ff9a55}
.admin-home-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:28px 34px 16px}.admin-home-overview>div{display:grid;gap:6px;min-height:120px;align-content:center;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-home-overview small,.admin-home-guide>span{color:var(--violet);font-size:8px;font-weight:950;letter-spacing:1.2px}.admin-home-overview strong{font-size:24px}.admin-home-overview span{color:var(--muted);font-size:10px}
.admin-home-overview>div{position:relative;padding-left:68px}.admin-home-overview>div>i{position:absolute;left:20px;top:50%;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;transform:translateY(-50%);background:#eeecff;color:#6257d5;font-style:normal;font-weight:900}.admin-home-overview>div.user>i{background:#e9f7fb;color:#1598bd}.admin-home-overview>div.access>i{background:#fff1e8;color:#e67831}.admin-home-overview>div.user strong,.admin-home-overview>div.access strong{font-size:18px}.admin-home-guide{display:flex;align-items:center;gap:18px;margin:16px 34px 34px;padding:22px 25px;border:1px solid #dedbf7;border-radius:16px;background:#f8f7ff;color:var(--ink)}.admin-guide-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:13px;background:#655add;color:#fff;font-size:20px}.admin-home-guide>div:last-child>span{color:var(--violet);font-size:8px;font-weight:950;letter-spacing:1.2px}.admin-home-guide h3{margin:5px 0;font-size:18px}.admin-home-guide p{margin:0;color:var(--muted);line-height:1.55}html[data-theme="dark"] .admin-workspace{background:#11131b}html[data-theme="dark"] .admin-workspace .dialog{background:var(--page)}html[data-theme="dark"] .admin-workspace .admin-home-header{background:linear-gradient(135deg,#1a1c27,#222036)!important}html[data-theme="dark"] .admin-home-guide{background:#1d1d2c;color:#fff}
@media(max-width:720px){.admin-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.admin-workspace-sidebar{height:auto;max-height:172px}.admin-workspace-sidebar>header{min-height:62px;padding:12px 14px}.admin-workspace-brand small{max-width:150px}.admin-workspace-sidebar nav{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:8px 10px 12px}.admin-workspace-sidebar nav section{display:flex;gap:5px;margin:0}.admin-workspace-sidebar nav section>small{display:none}.admin-workspace-sidebar nav button,.admin-workspace-sidebar nav a{width:auto;min-width:max-content;grid-template-columns:24px auto;padding:6px 9px}.admin-workspace-sidebar nav a b{display:none}.admin-workspace-sidebar>footer{display:none}.admin-workspace-main{height:auto;padding:0}.admin-workspace .dialog,.admin-workspace .dialog.wide{min-height:calc(100vh - 124px);border:0;border-radius:0}.admin-workspace .dialog>header{top:0}.admin-home-header{min-height:160px;align-items:flex-start;padding:24px 20px!important}.admin-home-title>.brand-mark{display:none}.admin-home-header h2{font-size:30px}.admin-return-button{font-size:9px}.admin-welcome{margin:18px 18px 0;padding:20px}.admin-welcome h3{font-size:20px}.admin-welcome>i{display:none}.admin-home-overview{grid-template-columns:1fr;padding:18px}.admin-home-overview>div{min-height:92px}.admin-home-guide{align-items:flex-start;margin:0 18px 24px;padding:18px}.admin-guide-icon{width:38px;height:38px;flex-basis:38px}}

/* Roles y accesos v3.1 */
.admin-workspace-sidebar>footer{grid-template-rows:auto auto}.admin-designer-credit{grid-column:1/-1;margin-top:7px;color:#929ab9;text-decoration:none;font-size:7px;letter-spacing:.25px;white-space:nowrap}.admin-designer-credit:hover{color:#fff}
.roles-layout{grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 160px);background:#fff}.roles-sidebar{position:sticky;top:78px;height:calc(100vh - 122px);overflow:auto;padding:16px!important;background:#f7f8fb!important}.roles-sidebar-tools{position:sticky;top:-16px;z-index:2;display:grid;gap:9px;padding:0 0 12px;background:#f7f8fb}.roles-sidebar-tools .new-user{min-height:42px;border:0;border-radius:10px;background:#655add;color:#fff;font-weight:850}.roles-sidebar-tools label{display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.roles-sidebar-tools input{width:100%;padding:10px 0;border:0;outline:0;background:transparent;font-size:10px}.roles-sidebar nav{display:grid;gap:6px}.role-list-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.role-list-item:hover{background:#fff;border-color:#e1e3eb}.role-list-item.active{background:#fff;border-color:#a9a3ff;box-shadow:0 7px 20px rgba(78,69,190,.08)}.role-list-item>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9e7ff;color:#544ac0;font-style:normal;font-weight:900}.role-list-item>span{display:grid;gap:3px;min-width:0}.role-list-item strong,.role-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-list-item strong{font-size:10px}.role-list-item small{color:var(--muted);font-size:8px}.role-list-item>b{color:#aaaec0}.roles-sidebar>p{padding:20px;text-align:center;color:var(--muted);font-size:9px}
.role-editor{position:relative;gap:14px;padding:26px 30px 90px}.role-editor-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.role-editor-heading>div>span{color:var(--violet);font-size:8px;font-weight:950;letter-spacing:1.2px}.role-editor-heading h3{margin:5px 0 2px;font-size:25px;letter-spacing:-.7px}.role-editor-heading p{margin:0;color:var(--muted);font-size:10px}.permission-search{display:flex;align-items:center;gap:7px;width:min(310px,100%);padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fafaff}.permission-search input{width:100%;padding:10px 0;border:0;outline:0;background:transparent;font-size:10px}.role-basics{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,1fr);gap:12px;align-items:end}.crew-toggle{grid-template-columns:1fr}.crew-toggle label{min-height:50px}.crew-toggle span{display:grid;gap:2px}.crew-toggle small{color:var(--muted);font-size:8px}
.role-permission-groups{display:grid;gap:10px}.role-permission-group{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.role-permission-group>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto 18px;align-items:center;gap:12px;padding:13px 15px;background:#f8f9fc;cursor:pointer;list-style:none}.role-permission-group>summary::-webkit-details-marker{display:none}.role-permission-group>summary>div{display:grid;gap:2px}.role-permission-group>summary strong{font-size:10px;letter-spacing:.5px}.role-permission-group>summary small{color:var(--muted);font-size:8px}.role-permission-group>summary>span{color:var(--muted);font-size:8px;font-weight:850}.role-permission-group>summary>button{padding:6px 9px;border:1px solid #d7d4ff;border-radius:8px;background:#fff;color:#665bd1;font-size:8px;font-weight:850;cursor:pointer}.role-permission-group>summary>i{font-style:normal;color:#777e93;transition:.2s}.role-permission-group[open]>summary>i{transform:rotate(180deg)}.role-permission-group .permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px}.role-permission-group .permission-option{min-height:42px;padding:9px 10px;border-radius:9px;background:#fff;font-size:9px}.role-permission-group .permission-option:has(input:checked){border-color:#aaa4ff;background:#f5f3ff}.role-permission-group .permission-option[hidden],.role-permission-group[hidden]{display:none!important}.role-editor-actions{position:sticky;bottom:-22px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px -30px -90px;padding:14px 30px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.role-editor-actions>span{color:var(--muted);font-size:9px}.role-editor-actions>div{display:flex;gap:8px}.site-footer a{color:inherit;font-weight:800;text-decoration:none}.site-footer a:hover{text-decoration:underline}
html[data-theme="dark"] .roles-layout,html[data-theme="dark"] .role-permission-group,html[data-theme="dark"] .role-editor-actions{background:#181a22}html[data-theme="dark"] .roles-sidebar,html[data-theme="dark"] .roles-sidebar-tools,html[data-theme="dark"] .role-permission-group>summary{background:#15171e!important}html[data-theme="dark"] .role-list-item.active,html[data-theme="dark"] .roles-sidebar-tools label,html[data-theme="dark"] .permission-search{background:#22242d}
@media(max-width:1100px){.role-permission-group .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.roles-layout{grid-template-columns:1fr}.roles-sidebar{position:static;height:auto;max-height:250px;border-right:0!important;border-bottom:1px solid var(--line)}.roles-sidebar-tools{position:static}.role-editor{padding:20px 16px 90px}.role-editor-heading{align-items:stretch;flex-direction:column}.permission-search{width:100%}.role-basics{grid-template-columns:1fr}.role-permission-group .permission-grid{grid-template-columns:1fr}.role-permission-group>summary{grid-template-columns:minmax(0,1fr) auto 16px}.role-permission-group>summary>span{display:none}.role-editor-actions{bottom:0;margin:8px -16px -90px;padding:12px 16px;align-items:stretch;flex-direction:column}.role-editor-actions>div{display:grid;grid-template-columns:1fr 1fr}.admin-designer-credit{display:none}}

.role-members{border:1px solid var(--line);border-radius:13px;background:#fafbfc;overflow:hidden}.role-members>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-bottom:1px solid var(--line)}.role-members>header span{color:var(--violet);font-size:8px;font-weight:950;letter-spacing:1.1px}.role-members>header h4{margin:3px 0 0;font-size:13px}.role-members>header>small{padding:5px 8px;border-radius:999px;background:#e8f7ef;color:#277c57;font-size:8px;font-weight:900}.role-members>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px}.role-members article{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fff}.role-members article>i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e9e7ff;color:#544ac0;font-style:normal;font-weight:900}.role-members article>span{display:grid;gap:2px;min-width:0}.role-members article strong,.role-members article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-members article strong{font-size:9px}.role-members article small{color:var(--muted);font-size:8px}.role-members article>b{color:#277c57;font-size:7px}.role-members article.inactive{opacity:.62}.role-members article.inactive>b{color:#a7474a}.role-members>div>p{grid-column:1/-1;margin:0;padding:12px;color:var(--muted);font-size:9px;text-align:center}html[data-theme="dark"] .role-members{background:#15171e}html[data-theme="dark"] .role-members article{background:#22242d}@media(max-width:1100px){.role-members>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.role-members>div{grid-template-columns:1fr}}

/* Oficina v3.4 · workspace azul petróleo */
.office-workspace{background:#f2f7f8}.office-workspace-sidebar{background:#0d3039;box-shadow:10px 0 35px rgba(4,43,53,.15)}.office-workspace-sidebar>header{border-bottom-color:rgba(255,255,255,.11)}.office-workspace-sidebar .admin-workspace-brand u{color:#78cbd8}.office-workspace-sidebar>header button{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.07)}.office-workspace-sidebar nav section>small{color:#6fa6b0}.office-workspace-sidebar nav button,.office-workspace-sidebar nav a{color:#c6dfe3}.office-workspace-sidebar nav i{background:rgba(89,190,205,.12);color:#a9e8f0}.office-workspace-sidebar nav button:hover,.office-workspace-sidebar nav a:hover{background:rgba(255,255,255,.07)}.office-workspace-sidebar nav button.active{background:#168ba0;box-shadow:0 8px 22px rgba(8,119,139,.32)}.office-workspace-sidebar>footer{background:#092831;border-top-color:rgba(255,255,255,.11)}.office-workspace-sidebar>footer .avatar{background:linear-gradient(145deg,#28b7c9,#11768b)}.office-workspace-sidebar .admin-designer-credit{color:#7faeb6}.office-workspace .dialog{border-color:#d9e7e9}.office-home-header{background:linear-gradient(135deg,#f8ffff,#e7f6f8)!important}.office-home-header .eyebrow{color:#168ba0}.office-home-header .admin-home-title>.brand-mark{background:#148da2;box-shadow:0 12px 28px rgba(20,141,162,.22)}.office-home-header .admin-return-button{border-color:#cce3e7;color:#116c7c}.office-welcome{background:linear-gradient(115deg,#0f7182 0%,#168fa2 62%,#17a1b1 100%)}.office-welcome span{color:#c7f3f7}.office-welcome p{color:#dcf7f9}.office-welcome>i b:nth-child(3){background:#65d7a4}.office-home-menu{grid-template-columns:repeat(3,minmax(0,1fr));padding:24px 34px 34px}.office-home-menu .admin-menu-card{min-height:126px;border-color:#dce9eb;border-radius:14px;padding:18px}.office-home-menu .admin-menu-card:hover{border-color:#58b6c4;background:#f5fdfe;box-shadow:0 10px 26px rgba(13,93,106,.08)}.office-home-menu .admin-menu-icon{width:48px;height:48px;border-radius:13px;background:#e3f6f8;color:#12879b;font-size:21px}.office-home-menu .admin-menu-card b{color:#168ba0}.office-workspace .primary-button{background:#168ba0}.office-workspace .eyebrow{color:#168ba0}html[data-theme="dark"] .office-workspace{background:#101b1e}html[data-theme="dark"] .office-workspace .dialog{background:#161f22}html[data-theme="dark"] .office-workspace .office-home-header{background:linear-gradient(135deg,#172629,#163036)!important}html[data-theme="dark"] .office-home-menu .admin-menu-card{background:#172528;border-color:#284147}html[data-theme="dark"] .office-home-menu .admin-menu-card:hover{background:#1b3135}
@media(max-width:1120px){.office-home-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.office-home-menu{grid-template-columns:1fr;padding:18px}.office-home-menu .admin-menu-card{min-height:104px}.office-workspace-sidebar{background:#0d3039}}
.problem-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:#f7fbfc}.problem-map-toolbar>div{display:flex;gap:6px}.problem-map-toolbar button{padding:8px 11px;border:1px solid #cce2e6;border-radius:9px;background:#fff;color:#176f7e;font-size:9px;font-weight:850;cursor:pointer}.problem-map-toolbar button.active{border-color:#168ba0;background:#168ba0;color:#fff}.problem-map-toolbar>span{color:var(--muted);font-size:9px}.problem-map{height:calc(100vh - 175px);min-height:480px;background:#dce8e9}.problem-pin-wrap{background:transparent;border:0}.problem-pin{display:block;width:22px;height:22px;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 9px rgba(0,0,0,.28)}.problem-pin.orange{background:#ee8a36}.problem-pin.red{background:#d94b50}.problem-pin.green{background:#2ea66f}.problem-popup{min-width:205px;display:grid;gap:5px}.problem-popup small{color:#168ba0;font-weight:950}.problem-popup strong{font-size:13px}.problem-popup span{color:#68717d;font-size:10px}.problem-popup button{margin-top:4px;padding:8px;border:0;border-radius:8px;background:#168ba0;color:#fff;font-weight:850;cursor:pointer}@media(max-width:720px){.problem-map-toolbar{align-items:stretch;flex-direction:column}.problem-map-toolbar>div{display:grid;grid-template-columns:repeat(3,1fr)}.problem-map{height:calc(100vh - 245px);min-height:390px}}
.address-autocomplete{position:relative}.address-suggestions{position:absolute;z-index:30;top:calc(100% - 13px);left:0;right:0;max-height:250px;overflow:auto;padding:5px;border:1px solid #b8b2ff;border-radius:10px;background:#fff;box-shadow:0 14px 35px rgba(25,29,55,.18)}.address-suggestions[hidden]{display:none}.address-suggestions>span{display:block;padding:11px;color:var(--muted);font-size:9px}.address-suggestions button{width:100%;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;padding:9px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;font-size:10px;cursor:pointer}.address-suggestions button:hover,.address-suggestions button:focus{background:#f0eeff;outline:0}.address-suggestions button b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#e9f7fa;color:#168ba0}html[data-theme="dark"] .address-suggestions{background:#22242d;border-color:#6259c7}html[data-theme="dark"] .address-suggestions button:hover{background:#2d3040}
.address-suggestions>small{display:block;padding:7px 9px 4px;color:#168ba0;font-size:7px;font-weight:950;letter-spacing:1px}
.problem-map-toolbar>span{display:flex;align-items:center;gap:5px}.problem-map-toolbar>span>button{padding:6px 9px;border:1px solid #f0c9b1;border-radius:8px;background:#fff5ee;color:#b44e1c;font:inherit;font-weight:950;cursor:pointer}.problem-map-toolbar>span>button:hover{background:#ffe9db}.map-missing-panel{position:absolute;z-index:550;top:112px;right:18px;bottom:18px;width:min(440px,calc(100% - 36px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #c9dde1;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(8,42,50,.22)}.map-missing-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line);background:#f3fafb}.map-missing-panel>header small{color:#168ba0;font-size:7px;font-weight:950;letter-spacing:1px}.map-missing-panel>header h3{margin:3px 0;font-size:20px}.map-missing-panel>header p{margin:0;color:var(--muted);font-size:9px}.map-missing-panel>header>button{width:32px;height:32px;border:0;border-radius:9px;background:#e5eff1;color:#315e66;font-size:19px;cursor:pointer}.map-missing-panel>div{overflow:auto;padding:8px}.map-missing-panel article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border-bottom:1px solid var(--line)}.map-missing-panel article>span{display:grid;gap:3px;min-width:0}.map-missing-panel article small{color:#168ba0;font-size:8px;font-weight:950}.map-missing-panel article strong,.map-missing-panel article p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-missing-panel article strong{font-size:10px}.map-missing-panel article p{margin:0;color:var(--muted);font-size:8px}.map-missing-panel article>div{display:flex;gap:5px}.map-missing-panel article>div button{padding:8px 10px;border:0;border-radius:8px;background:#168ba0;color:#fff;font-size:8px;font-weight:900;cursor:pointer}.map-missing-panel article>div button.secondary{border:1px solid #c9dde1;background:#fff;color:#176f7e}.map-location-hint{position:absolute;z-index:540;top:128px;left:50%;display:flex;align-items:center;gap:16px;max-width:calc(100% - 40px);padding:11px 14px;border-radius:12px;background:#102f36;color:#fff;box-shadow:0 12px 32px rgba(0,0,0,.25);transform:translateX(-50%)}.map-location-hint span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.map-location-hint button{padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:transparent;color:#fff;font-weight:850;cursor:pointer}.problem-map.placing-pin,.problem-map.placing-pin *{cursor:crosshair!important}.problem-map.placing-pin:after{content:'TOCÁ EL LUGAR EXACTO EN EL MAPA';position:absolute;z-index:500;right:18px;bottom:18px;padding:9px 12px;border-radius:9px;background:#168ba0;color:#fff;font-size:9px;font-weight:950;letter-spacing:.4px;pointer-events:none}html[data-theme="dark"] .map-missing-panel{background:#1b2528;border-color:#325159}html[data-theme="dark"] .map-missing-panel>header{background:#162f34}html[data-theme="dark"] .map-missing-panel article>div button.secondary{background:#223236;color:#d7f4f8;border-color:#3b5b62}@media(max-width:720px){.problem-map-toolbar>span{justify-content:flex-end}.map-missing-panel{position:fixed;top:118px;right:10px;bottom:10px;width:calc(100% - 20px)}.map-missing-panel article{grid-template-columns:1fr}.map-missing-panel article>div{display:grid;grid-template-columns:1fr 1fr}.map-location-hint{position:fixed;top:122px;width:calc(100% - 28px);justify-content:space-between}.problem-map.placing-pin:after{right:10px;bottom:10px;left:10px;text-align:center}}


/* Source: assets/facelift.css */
:root {
  --violet: #6555d7;
  --violet-dark: #5142bd;
  --violet-soft: #efedff;
  --ink: #171a29;
  --muted: #747b8c;
  --line: #e1e4eb;
  --surface: #ffffff;
  --page: #f4f5f8;
  --module-accent: #6555d7;
  --module-soft: #efedff;
  --shadow-soft: 0 8px 24px rgba(27, 31, 45, .045);
  --shadow-raised: 0 16px 38px rgba(27, 31, 45, .09);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--ink);
  background: var(--page);
}

button,
input,
select,
textarea,
a {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease,
    box-shadow .22s ease, transform .22s ease, opacity .18s ease;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(101, 85, 215, .2);
  outline-offset: 2px;
}

.loading-screen .brand-mark {
  animation: brand-breathe 1.6s ease-in-out infinite;
}

.login-story {
  box-shadow: inset -1px 0 rgba(255, 255, 255, .12);
  animation: story-in .5s ease both;
}

.login-story .brand-mark {
  box-shadow: 0 10px 24px rgba(27, 20, 96, .24);
}

.story-content {
  animation: fade-up .5s .08s ease both;
}

.story-pills span {
  backdrop-filter: blur(10px);
  transition: background-color .2s ease, transform .2s ease;
}

.story-pills span:hover {
  background: rgba(255, 255, 255, .14);
  transform: translateY(-2px);
}

.login-box {
  animation: login-in .45s .08s ease both;
}

.login-box h2 {
  letter-spacing: -.055em;
}

.login-form .primary-button:hover {
  box-shadow: 0 14px 30px rgba(101, 85, 215, .28);
}

.module-general {
  --module-accent: #6555d7;
  --module-soft: #efedff;
}

.module-network {
  --module-accent: #3477cf;
  --module-soft: #eaf2ff;
}

.topbar {
  position: sticky;
  z-index: 30;
  top: 0;
  height: 76px;
  padding-inline: clamp(20px, 4vw, 64px);
  border-color: rgba(220, 223, 232, .9);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 1px 0 rgba(32, 36, 50, .02);
  backdrop-filter: blur(16px);
  animation: bar-in .42s ease both;
}

.brand {
  gap: 13px;
}

.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  box-shadow: 0 8px 18px rgba(101, 85, 215, .2);
}

.brand-toggle:hover .brand-mark {
  transform: rotate(0deg) scale(1.04);
}

.brand-line {
  font-size: 16px;
  letter-spacing: -.035em;
}

.brand-subtitle {
  font-weight: 650;
  letter-spacing: .18em;
}

.topbar-actions {
  gap: 8px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.brand-static {
  display: inline-flex;
  flex: 0 0 auto;
}

.header-clock {
  min-width: 78px;
  display: grid;
  justify-items: end;
  gap: 2px;
  padding-right: 13px;
  border-right: 1px solid var(--line);
  color: var(--ink);
  line-height: 1;
}

.header-clock strong {
  font-size: 14px;
  font-weight: 850;
  letter-spacing: -.02em;
}

.header-clock small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.header-theme-button,
.app-menu-trigger {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: #596071;
  background: var(--surface);
  box-shadow: none;
}

.header-theme-button {
  width: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  font-size: 17px;
}

.header-theme-button:hover,
.app-menu-trigger:hover {
  color: var(--violet);
  border-color: color-mix(in srgb, var(--violet) 32%, var(--line));
  background: var(--violet-soft);
  transform: translateY(-1px);
}

.app-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 15px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 850;
}

.menu-trigger-icon {
  width: 17px;
  display: grid;
  gap: 3px;
}

.menu-trigger-icon i {
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .2s ease, width .2s ease;
}

.menu-trigger-icon i:nth-child(2) {
  width: 12px;
  justify-self: end;
}

.app-menu-trigger:hover .menu-trigger-icon i:nth-child(2) {
  width: 17px;
}

body.app-menu-open {
  overflow: hidden;
}

.app-menu-overlay {
  position: fixed;
  z-index: 44;
  inset: 0;
  border: 0;
  background: rgba(18, 22, 33, .44);
  opacity: 0;
  backdrop-filter: blur(3px);
  transition: opacity .24s ease;
}

.app-menu-overlay[hidden] {
  display: none;
}

.app-menu {
  position: fixed;
  z-index: 45;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(410px, calc(100vw - 22px));
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--line);
  color: var(--ink);
  background: var(--surface);
  box-shadow: -24px 0 70px rgba(21, 24, 36, .18);
  transform: translateX(104%);
  visibility: hidden;
  transition: transform .3s cubic-bezier(.22, .8, .25, 1), visibility 0s linear .3s;
}

body.app-menu-open .app-menu-overlay {
  opacity: 1;
}

body.app-menu-open .app-menu {
  transform: translateX(0);
  visibility: visible;
  transition-delay: 0s;
}

.app-menu-header {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px 14px 22px;
  border-bottom: 1px solid var(--line);
}

.app-menu-brand {
  display: flex;
  align-items: center;
  gap: 11px;
}

.app-menu-brand .brand-mark {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

.app-menu-brand > span:last-child {
  display: grid;
  gap: 5px;
}

.app-menu-brand strong {
  color: var(--violet);
  font-size: 15px;
  font-weight: 900;
}

.app-menu-brand small {
  color: var(--muted);
  font-size: 7px;
  font-weight: 750;
  letter-spacing: .17em;
}

.app-menu-close {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: 11px;
  color: var(--muted);
  background: var(--page);
  font-size: 22px;
  font-weight: 350;
}

.app-menu-close:hover {
  color: var(--ink);
  border-color: var(--line);
  transform: rotate(3deg);
}

.app-menu-content {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 19px 14px 24px;
}

.app-menu-group + .app-menu-group {
  margin-top: 22px;
}

.app-menu-label {
  display: block;
  margin: 0 10px 8px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .17em;
}

.app-menu-group nav {
  display: grid;
  gap: 4px;
}

.app-menu-item {
  width: 100%;
  min-height: 59px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border: 1px solid transparent;
  border-radius: 13px;
  padding: 8px 12px 8px 9px;
  color: var(--ink);
  background: transparent;
  text-align: left;
}

.app-menu-item:hover {
  border-color: color-mix(in srgb, var(--module-accent) 18%, var(--line));
  background: var(--page);
  transform: translateX(-2px);
}

.app-menu-item.active {
  border-color: color-mix(in srgb, var(--module-accent) 24%, var(--line));
  background: var(--module-soft);
}

.menu-item-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--violet);
  background: var(--violet-soft);
  font-size: 15px;
  font-style: normal;
  font-weight: 850;
}

.app-menu-item.active .menu-item-icon {
  color: white;
  background: var(--module-accent);
  box-shadow: 0 7px 15px color-mix(in srgb, var(--module-accent) 22%, transparent);
}

.menu-item-icon.map-icon {
  font-size: 16px;
}

.app-menu-item > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.app-menu-item strong {
  font-size: 11px;
  font-weight: 850;
}

.app-menu-item small {
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-weight: 550;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-menu-item > b {
  color: var(--muted);
  font-size: 19px;
  font-weight: 500;
}

.app-menu-item.active > b {
  color: var(--module-accent);
}

.app-menu-footer {
  flex: 0 0 auto;
  padding: 13px 14px max(14px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 96%, var(--page));
}

.app-menu-user {
  width: 100%;
  min-height: 57px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border: 0;
  border-radius: 12px;
  padding: 7px 9px;
  color: var(--ink);
  background: transparent;
  text-align: left;
}

.app-menu-user:hover {
  background: var(--page);
}

.app-menu-user .avatar {
  width: 36px;
  height: 36px;
}

.app-menu-user > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.app-menu-user strong {
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-menu-user small {
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-menu-user > b {
  color: var(--muted);
  font-size: 18px;
  font-weight: 500;
}

.app-menu-footer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 8px;
}

.app-menu-footer-actions button {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: var(--surface);
  font-size: 8px;
  font-weight: 800;
}

.app-menu-footer-actions button:hover {
  color: var(--violet);
  background: var(--violet-soft);
}

.topbar-actions > .ghost-button {
  min-height: 42px;
  border-color: transparent;
  border-radius: 10px;
  padding-inline: 11px;
  color: #596071;
  background: transparent;
  box-shadow: none;
}

.topbar-actions > .ghost-button:hover {
  color: var(--violet);
  border-color: transparent;
  background: var(--violet-soft);
  transform: translateY(-1px);
}

.nav-icon {
  width: 20px;
  display: inline-grid;
  place-items: center;
  color: currentColor;
  font-size: 15px;
  font-weight: 800;
}

.nav-icon.map-icon {
  font-size: 16px;
}

.nav-label {
  white-space: nowrap;
}

.user-chip {
  min-height: 44px;
  margin-left: 10px;
  border-left-color: var(--line);
  border-radius: 0 11px 11px 0;
  padding-inline: 14px 10px;
}

.user-chip:hover {
  background: rgba(101, 85, 215, .055);
}

.avatar {
  box-shadow: 0 7px 16px rgba(101, 85, 215, .18);
}

.dashboard {
  width: min(1440px, 100%);
  padding: 38px clamp(18px, 4vw, 64px) 72px;
}

.module-row {
  margin-bottom: 22px;
  animation: fade-up .38s .04s ease both;
}

.module-switch {
  gap: 4px;
  margin: 0;
  border-color: var(--line);
  border-radius: 12px;
  padding: 4px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.module-switch button {
  min-height: 37px;
  border-radius: 8px;
  padding-inline: 14px;
}

.module-switch button span {
  margin-right: 6px;
  font-size: 13px;
}

.module-switch button:hover:not(.active) {
  color: var(--module-accent);
  background: var(--module-soft);
}

.module-switch button.active {
  background: var(--module-accent);
  box-shadow: 0 7px 16px color-mix(in srgb, var(--module-accent) 24%, transparent);
}

.welcome-row {
  align-items: center;
  animation: fade-up .42s .08s ease both;
}

.welcome-module-switch {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
  color: color-mix(in srgb, var(--module-accent) 40%, var(--muted));
}

.welcome-module-switch button {
  border: 0;
  padding: 3px 0;
  color: var(--muted);
  background: transparent;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .16em;
}

.welcome-module-switch button:hover {
  color: var(--module-accent);
  transform: translateY(-1px);
}

.welcome-module-switch button.active {
  color: var(--module-accent);
}

.welcome-module-switch button.active::after {
  width: 100%;
  height: 2px;
  display: block;
  margin-top: 4px;
  border-radius: 2px;
  background: currentColor;
  content: '';
}

.welcome-module-switch span {
  color: var(--line);
  transform: translateY(-2px);
}

.welcome-row .eyebrow {
  color: var(--module-accent);
}

.welcome-row h1 {
  margin: 8px 0 4px;
  font-size: clamp(32px, 3.3vw, 43px);
  line-height: 1.06;
}

.new-task-button {
  min-height: 45px;
  border-color: var(--module-accent);
  border-radius: 11px;
  background: var(--module-accent);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--module-accent) 24%, transparent);
}

.new-task-button:hover {
  border-color: var(--module-accent);
  background: var(--module-accent);
  box-shadow: 0 15px 30px color-mix(in srgb, var(--module-accent) 32%, transparent);
  transform: translateY(-2px);
}

.stats-grid {
  gap: 18px;
  margin: 28px 0;
}

.stat-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
  border-color: var(--line);
  border-radius: 16px;
  padding: 16px 18px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
  animation: card-in .42s ease both;
}

.stat-card:nth-child(2) { animation-delay: .05s; }
.stat-card:nth-child(3) { animation-delay: .1s; }
.stat-card:nth-child(4) { animation-delay: .15s; }

.stat-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: #aeb3c0;
}

.stat-card.pending::before { background: var(--peach); }
.stat-card.completed::before { background: var(--green); }
.stat-card.certified::before { background: #5e8ed7; }
.stat-card.canceled::before { background: var(--red); }

.stat-card:hover {
  border-color: color-mix(in srgb, var(--module-accent) 25%, var(--line));
  box-shadow: var(--shadow-raised);
  transform: translateY(-4px);
}

.stat-icon {
  width: 46px;
  height: 46px;
  border-radius: 13px;
}

.stat-card strong {
  font-size: 30px;
}

.stat-card > b {
  transition: transform .2s ease;
}

.stat-card:hover > b {
  color: var(--module-accent);
  transform: translateX(3px);
}

.board-section {
  border-color: var(--line);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 14px 42px rgba(27, 31, 45, .055);
  animation: fade-up .45s .12s ease both;
}

.board-heading {
  padding: 21px 25px;
}

.board-heading h2 {
  font-size: 21px;
  letter-spacing: -.025em;
}

.network-period-filter select,
.search-box {
  border-color: var(--line);
  background: color-mix(in srgb, var(--page) 75%, var(--surface));
}

.search-box {
  min-width: 290px;
  border-radius: 11px;
}

.search-box:focus-within {
  border-color: var(--module-accent);
  box-shadow: 0 0 0 3px var(--module-soft);
}

.filter-tabs {
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 11px;
  background: var(--page);
}

.filter-tabs button {
  border-radius: 8px;
}

.filter-tabs button:hover:not(.active) {
  color: var(--module-accent);
}

.filter-tabs button.active {
  color: var(--module-accent);
  background: var(--surface);
  box-shadow: 0 3px 10px rgba(30, 34, 48, .08);
}

.kanban-board {
  background: color-mix(in srgb, var(--page) 80%, var(--surface));
}

.kanban-column {
  min-height: 400px;
  padding: 18px 14px 22px;
  border-color: var(--line);
  animation: column-in .42s ease both;
}

.kanban-column:nth-child(2) { animation-delay: .05s; }
.kanban-column:nth-child(3) { animation-delay: .1s; }
.kanban-column:nth-child(4) { animation-delay: .15s; }

.kanban-column > header {
  padding: 0 5px 12px;
}

.kanban-column h3 {
  font-size: 10px;
  letter-spacing: .08em;
}

.kanban-column header b {
  border: 1px solid var(--line);
  background: var(--surface);
}

.task-stack {
  gap: 10px;
}

.task-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 14px;
  background: var(--surface);
  box-shadow: 0 5px 14px rgba(30, 34, 48, .035);
  animation: card-in .35s ease both;
}

.task-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #b8bdc8;
}

.task-card.important::before { background: var(--peach); }
.task-card.urgent::before { background: var(--red); }

.task-card:hover {
  border-color: color-mix(in srgb, var(--module-accent) 25%, var(--line));
  box-shadow: 0 13px 28px rgba(30, 34, 48, .1);
  transform: translateY(-3px);
}

.task-card h4 {
  margin-block: 10px 6px;
}

.task-meta {
  margin-top: 11px;
  padding-top: 10px;
}

.link-button {
  color: var(--module-accent);
}

.link-button:hover {
  transform: translateX(2px);
}

.primary-button {
  box-shadow: 0 8px 20px rgba(101, 85, 215, .17);
}

.primary-button:hover,
.ghost-button:hover,
.danger-button:hover {
  transform: translateY(-1px);
}

input:focus,
select:focus,
textarea:focus,
.input-wrap:focus-within {
  border-color: var(--module-accent);
  box-shadow: 0 0 0 3px var(--module-soft);
}

.dialog-backdrop {
  background: rgba(18, 22, 33, .62);
  backdrop-filter: blur(9px);
  animation: veil-in .2s ease both;
}

.dialog {
  border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
  border-radius: 20px;
  box-shadow: 0 34px 90px rgba(17, 22, 34, .3);
  animation: dialog-in .28s cubic-bezier(.2, .75, .3, 1) both;
}

.dialog > header {
  padding: 20px 24px 16px;
  backdrop-filter: blur(14px);
}

.close-button:hover {
  color: var(--violet);
  background: var(--violet-soft);
  transform: rotate(4deg);
}

.admin-menu-card,
.tool-card,
.device-box-card,
.backup-card,
.catalog-row,
.material-stats article {
  box-shadow: var(--shadow-soft);
}

.admin-menu-card:hover,
.tool-card:hover,
.device-box-card:hover {
  border-color: color-mix(in srgb, var(--violet) 28%, var(--line));
  box-shadow: var(--shadow-raised);
  transform: translateY(-3px);
}

.catalog-row.material-inactive {
  filter: saturate(.7);
}

.toast {
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 18px 42px rgba(19, 23, 34, .23);
  animation: toast-in .3s cubic-bezier(.2, .8, .3, 1) both;
}

.site-footer {
  background: var(--surface);
}

html[data-theme="dark"] {
  --violet: #9486f4;
  --violet-dark: #8172e6;
  --violet-soft: #2d294d;
  --ink: #eef2f8;
  --muted: #929cad;
  --line: #2d3645;
  --surface: #171e2a;
  --page: #111722;
  --shadow-soft: 0 9px 26px rgba(0, 0, 0, .16);
  --shadow-raised: 0 18px 42px rgba(0, 0, 0, .28);
}

html[data-theme="dark"] .module-general {
  --module-accent: #9587f6;
  --module-soft: #2d294d;
}

html[data-theme="dark"] .module-network {
  --module-accent: #6da9f3;
  --module-soft: #1d3653;
}

html[data-theme="dark"] .topbar {
  border-color: var(--line);
  background: rgba(17, 23, 34, .96);
}

html[data-theme="dark"] .topbar-actions > .ghost-button {
  color: #aeb7c7;
  background: transparent;
}

html[data-theme="dark"] .topbar-actions > .ghost-button:hover,
html[data-theme="dark"] .user-chip:hover {
  color: var(--violet);
  background: rgba(148, 134, 244, .1);
}

html[data-theme="dark"] .header-theme-button,
html[data-theme="dark"] .app-menu-trigger,
html[data-theme="dark"] .app-menu-footer-actions button {
  color: #c3cad6;
  background: var(--surface);
}

html[data-theme="dark"] .app-menu {
  box-shadow: -24px 0 70px rgba(0, 0, 0, .42);
}

html[data-theme="dark"] .app-menu-item:hover,
html[data-theme="dark"] .app-menu-user:hover {
  background: #202936;
}

html[data-theme="dark"] .app-menu-footer {
  background: #151c27;
}

html[data-theme="dark"] .module-switch,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .board-section,
html[data-theme="dark"] .task-card,
html[data-theme="dark"] .kanban-column header b,
html[data-theme="dark"] .site-footer {
  background: var(--surface);
}

html[data-theme="dark"] .kanban-board {
  background: #121925;
}

html[data-theme="dark"] .search-box,
html[data-theme="dark"] .network-period-filter select {
  background: #121925;
}

html[data-theme="dark"] .filter-tabs {
  background: #222a37;
}

html[data-theme="dark"] .filter-tabs button.active {
  color: var(--module-accent);
  background: #313a49;
}

html[data-theme="dark"] .task-meta,
html[data-theme="dark"] .detail-line {
  border-color: var(--line);
}

html[data-theme="dark"] .dialog > header {
  background: rgba(23, 30, 42, .96);
}

html[data-theme="dark"] label {
  color: #c4cad4;
}

@keyframes bar-in {
  from { opacity: 0; transform: translateY(-10px); }
}

@keyframes brand-breathe {
  50% { transform: rotate(-1deg) scale(1.05); }
}

@keyframes story-in {
  from { opacity: .5; transform: translateX(-12px); }
}

@keyframes login-in {
  from { opacity: 0; transform: translateX(12px); }
}

@keyframes fade-up {
  from { opacity: 0; transform: translateY(12px); }
}

@keyframes card-in {
  from { opacity: 0; transform: translateY(9px) scale(.985); }
}

@keyframes column-in {
  from { opacity: 0; transform: translateX(10px); }
}

@keyframes veil-in {
  from { opacity: 0; }
}

@keyframes dialog-in {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
}

@keyframes toast-in {
  from { opacity: 0; transform: translateY(14px) scale(.96); }
}

@media (max-width: 1120px) {
  .topbar {
    padding-inline: 20px;
  }

  .dashboard {
    padding-inline: 24px;
  }
}

@media (max-width: 740px) {
  .topbar {
    height: 66px;
    padding-inline: 12px;
  }

  .topbar-actions {
    min-width: 0;
    gap: 0;
  }

  .topbar .brand > .brand-static {
    display: inline-flex;
  }

  .topbar .brand-lockup,
  .header-clock,
  .header-theme-button {
    display: none;
  }

  .app-menu-trigger {
    min-height: 40px;
    padding-inline: 13px;
  }

  .app-menu {
    width: calc(100vw - 10px);
    max-width: 390px;
    border-radius: 18px 0 0 18px;
  }

  .app-menu-header {
    min-height: 72px;
    padding-block: 11px;
  }

  .app-menu-content {
    padding-top: 14px;
  }

  .dashboard {
    padding: 25px 13px 54px;
  }

  .module-switch {
    width: 100%;
  }

  .module-switch button {
    flex: 1;
    padding-inline: 8px;
  }

  .welcome-row h1 {
    font-size: 29px;
  }

  .welcome-module-switch {
    max-width: 100%;
    gap: 7px;
  }

  .welcome-module-switch button {
    min-height: 30px;
    font-size: 7px;
  }

  .stats-grid {
    gap: 8px;
    margin-block: 23px;
  }

  .stat-card {
    min-height: 94px;
    border-radius: 13px;
  }

  .board-section {
    border-radius: 16px;
  }

  .board-heading {
    padding: 17px 13px 13px;
  }

  .search-box {
    min-width: 0;
  }

  .kanban-column {
    min-height: 0;
  }

  .dialog {
    border-radius: 20px 20px 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}


/* Source: assets/pgosn-brand.css */
:root{--pgo-orange:#f47a24;--pgo-sn-blue:#009fe3}
.brand-pgo{color:var(--pgo-orange)!important;font-style:normal}.brand-sn{color:var(--pgo-sn-blue)!important;font-style:normal}
.brand-line{gap:4px!important}.brand-line>strong{font-weight:950}.brand-line>span:last-child{margin-left:5px}
.app-menu-brand strong i{font-style:normal}.app-menu-brand strong i+ i{margin-left:2px}.app-menu-brand small{line-height:1.4}
.login-brand{letter-spacing:.01em}.device-label-eos i{font-style:normal}
@media(max-width:720px){.brand-line>span:last-child{display:none}.brand-subtitle{font-size:7px!important}}
.problem-map-toolbar>span>button.located{border-color:#b9dfe3;background:#effbfc;color:#13788a}.problem-map-toolbar>span>button.located:hover{background:#dff5f7}
.problem-map-toolbar>span>button.excluded{border-color:#d9dce5;background:#f5f6f9;color:#6c7280}.problem-map-toolbar>span>button.excluded:hover{background:#e9ebf1}.map-missing-panel article>div{flex-wrap:wrap}.map-missing-panel article>div button{white-space:nowrap}
.installation-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px 24px}.installation-admin-stats button{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left}.installation-admin-stats strong{font-size:24px}.installation-admin-stats span{color:var(--muted);font-size:9px}.installation-admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;padding:0 24px 18px}.installation-admin-filters input,.installation-admin-filters select{min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.installation-admin-list{display:grid;padding:0 24px 28px}.installation-admin-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;padding:14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.installation-admin-list>button:hover{background:#f6f5ff}.installation-admin-list>button>span{display:grid;gap:3px}.installation-admin-list strong{font-size:11px}.installation-admin-list small,.installation-admin-list em{color:var(--muted);font-size:8px;font-style:normal}.installation-state{justify-self:end;padding:5px 8px;border-radius:99px;background:#fff1e8;color:#c65016;font-size:8px}.installation-state.completed{background:#e7f7ef;color:#187c52}.installation-state.certified{background:#e9f1ff;color:#2c64ad}.installation-state.canceled{background:#fff0f0;color:#b83838}.installation-admin-detail{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:24px}.installation-admin-detail>section:first-child{display:grid;align-content:start;border:1px solid var(--line);border-radius:14px;padding:14px}.installation-admin-detail>section:first-child>div{display:flex;justify-content:space-between;gap:16px;padding:11px;border-bottom:1px solid var(--line);font-size:10px}.installation-admin-detail>section:first-child>div:last-child{border:0}.installation-admin-detail span{color:var(--muted)}.installation-admin-photos{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px}.installation-admin-photos a{position:relative;overflow:hidden;border-radius:14px;background:#eef0f4;color:#fff}.installation-admin-photos img{width:100%;height:220px;display:block;object-fit:cover}.installation-admin-photos a span{position:absolute;right:8px;bottom:8px;padding:5px 7px;border-radius:7px;background:#111827d9;color:#fff;font-size:8px}@media(max-width:720px){.installation-admin-stats{grid-template-columns:1fr 1fr;padding:14px}.installation-admin-filters{grid-template-columns:1fr;padding:0 14px 14px}.installation-admin-list{padding:0 14px 20px}.installation-admin-detail{grid-template-columns:1fr;padding:14px}.installation-admin-photos img{height:150px}}


/* Source: assets/vehicles.css */
.role-permission-groups {
  display: grid;
  gap: 14px;
  margin-top: 2px;
}

.role-permission-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
}

.role-permission-group > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--page) 74%, var(--surface));
}

.role-permission-group > header div {
  display: grid;
  gap: 3px;
}

.role-permission-group > header strong {
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
}

.role-permission-group > header small {
  color: var(--muted);
  font-size: 10px;
}

.role-permission-group > header > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.role-permission-group > header button {
  border: 1px solid color-mix(in srgb, var(--violet) 28%, var(--line));
  border-radius: 9px;
  padding: 7px 10px;
  color: var(--violet);
  background: var(--surface);
  font-size: 10px;
  font-weight: 850;
}

.role-permission-group .permission-grid {
  padding: 10px;
}

.role-permission-group .permission-option {
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.role-permission-group .permission-option:has(input:not(:disabled)):hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--violet) 34%, var(--line));
}

.role-permission-group .permission-option:has(input:checked) {
  border-color: color-mix(in srgb, var(--violet) 30%, var(--line));
  background: color-mix(in srgb, var(--violet-soft) 60%, var(--surface));
}

.role-permission-group .permission-disabled {
  opacity: .47;
}

.vehicle-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.vehicle-layout,
.vehicle-fleet-layout,
.vehicle-empty-layout {
  padding: 22px 25px 28px;
  background: var(--page);
}

.vehicle-layout {
  display: grid;
  gap: 16px;
}

.vehicle-empty-layout {
  display: grid;
  place-content: center;
  gap: 13px;
  min-height: 420px;
}

.vehicle-empty-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  width: min(760px, 100%);
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 16px 40px rgba(42, 37, 90, .07);
}

.vehicle-empty-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 17px;
  color: var(--violet);
  background: var(--violet-soft);
  font-size: 29px;
  font-weight: 900;
}

.vehicle-empty-card h3 {
  margin: 0 0 6px;
  font-size: 18px;
}

.vehicle-empty-card p {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.vehicle-fleet-shortcut {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 15px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 17px;
  text-align: left;
  color: var(--ink);
  background: var(--surface);
}

.vehicle-fleet-shortcut span { font-weight: 850; }
.vehicle-fleet-shortcut small { color: var(--muted); }
.vehicle-fleet-shortcut b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--violet); }

.vehicle-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  border-radius: 18px;
  color: white;
  background: linear-gradient(130deg, #4034a4, #6757ce 58%, #7968dc);
  box-shadow: 0 18px 36px rgba(71, 58, 167, .2);
}

.vehicle-hero > div {
  display: flex;
  align-items: center;
  gap: 17px;
  min-width: 0;
}

.vehicle-hero > div > div { display: grid; gap: 5px; }
.vehicle-hero > div > div strong { font-size: 16px; }
.vehicle-hero > div > div small { color: rgba(255,255,255,.72); }
.vehicle-hero .ghost-button { border-color: rgba(255,255,255,.28); color: white; background: rgba(255,255,255,.12); }

.vehicle-plate {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  border: 2px solid #343747;
  border-radius: 7px;
  padding: 6px 9px;
  color: #202330;
  background: #f8fafc;
  box-shadow: inset 0 0 0 2px #d7dbe4;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  white-space: nowrap;
}

.vehicle-plate.large {
  min-width: 116px;
  padding: 9px 12px;
  font-size: 17px;
}

.vehicle-readonly {
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  padding: 7px 11px;
  color: rgba(255,255,255,.82);
  font-size: 10px;
  font-weight: 800;
}

.vehicle-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.vehicle-stats article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
}

.vehicle-stats article > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.vehicle-stats article strong { font-size: 17px; letter-spacing: -.02em; }
.vehicle-stats article small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.vehicle-stats article.alert { border-color: #f2c0c5; background: var(--red-soft); }
.vehicle-stats article.alert strong { color: #b83f4b; }

.vehicle-alert-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #f1c7a8;
  border-radius: 13px;
  padding: 11px 14px;
  color: #85502b;
  background: #fff6ec;
}

.vehicle-alert-strip > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: white;
  background: #d98545;
  font-weight: 950;
}

.vehicle-alert-strip p { margin: 0; font-size: 11px; font-weight: 700; }

.vehicle-section {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface);
}

.vehicle-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.vehicle-section > header h3 { margin: 4px 0 0; font-size: 16px; }
.vehicle-section > header .primary-button { padding: 9px 12px; font-size: 10px; }

.vehicle-record-list,
.vehicle-service-list { display: grid; }

.vehicle-record,
.vehicle-service-record {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 145px auto;
  align-items: center;
  gap: 15px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}

.vehicle-record:last-child,
.vehicle-service-record:last-child { border-bottom: 0; }

.vehicle-record-date,
.vehicle-record-main,
.vehicle-record-metric,
.vehicle-service-record > div { display: grid; gap: 4px; min-width: 0; }
.vehicle-record-date small,
.vehicle-record-main small,
.vehicle-record-metric small,
.vehicle-service-record small { color: var(--muted); font-size: 10px; }
.vehicle-record-main p,
.vehicle-service-record p { margin: 3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.vehicle-record-metric { text-align: right; }

.vehicle-full-chip {
  display: inline-flex;
  margin-left: 5px;
  border-radius: 999px;
  padding: 3px 6px;
  color: #287754;
  background: var(--green-soft);
  font-size: 8px;
  vertical-align: middle;
}

.vehicle-record-actions,
.vehicle-document-card footer,
.vehicle-service-record footer {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}

.vehicle-record-actions button,
.vehicle-document-card footer button,
.vehicle-service-record footer button,
.vehicle-deleted button {
  border: 0;
  padding: 5px;
  color: var(--violet);
  background: transparent;
  font-size: 9px;
  font-weight: 850;
}

.vehicle-record-actions button:last-child,
.vehicle-document-card footer button:last-child,
.vehicle-service-record footer button:last-child { color: var(--red); }

.vehicle-files {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 5px;
}

.vehicle-files a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0 6px;
  max-width: 220px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
  color: var(--ink);
  text-decoration: none;
  background: var(--page);
}

.vehicle-files a > span { grid-row: 1 / span 2; align-self: center; color: var(--violet); }
.vehicle-files a strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.vehicle-files a small { color: var(--muted); font-size: 8px; }

.vehicle-document-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.vehicle-document-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--line);
  border-top: 3px solid #98a0b0;
  border-radius: 12px;
  padding: 13px;
  background: color-mix(in srgb, var(--page) 42%, var(--surface));
}

.vehicle-document-card.valid { border-top-color: var(--green); }
.vehicle-document-card.upcoming { border-top-color: var(--peach); }
.vehicle-document-card.expired { border-top-color: var(--red); }
.vehicle-document-card > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vehicle-document-card > header span { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.vehicle-document-card > header b { border-radius: 999px; padding: 4px 7px; color: var(--muted); background: var(--page); font-size: 8px; }
.vehicle-document-card.valid > header b { color: #287754; background: var(--green-soft); }
.vehicle-document-card.upcoming > header b { color: #9b5c29; background: var(--peach-soft); }
.vehicle-document-card.expired > header b { color: #b53e49; background: var(--red-soft); }
.vehicle-document-card h4 { margin: 13px 0 5px; font-size: 14px; }
.vehicle-document-card p,
.vehicle-document-card > small { margin: 0 0 4px; color: var(--muted); font-size: 9px; }
.vehicle-document-notes { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.vehicle-document-card footer { margin-top: auto; padding-top: 10px; }

.vehicle-service-record { grid-template-columns: 115px minmax(0, 1fr) 170px auto; }
.vehicle-service-date { color: var(--violet); font-size: 10px; font-weight: 850; }

.vehicle-section-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px 18px;
  color: var(--muted);
  text-align: center;
  font-size: 11px;
}

.vehicle-deleted {
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--page) 60%, var(--surface));
}

.vehicle-deleted summary {
  padding: 11px 18px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.vehicle-deleted article {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  border-top: 1px solid var(--line);
}

.vehicle-deleted article > span { display: grid; gap: 2px; margin-right: auto; }
.vehicle-deleted article small { color: var(--muted); font-size: 9px; }
.vehicle-deleted .danger-button { color: var(--red); background: transparent; }

.vehicle-fleet-layout { min-height: 400px; }
.vehicle-fleet-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.vehicle-fleet-toolbar label { display: grid; flex: 1; gap: 6px; max-width: 470px; color: var(--muted); font-size: 10px; font-weight: 800; }
.vehicle-fleet-toolbar input { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 10px 12px; color: var(--ink); background: var(--surface); }
.vehicle-fleet-toolbar > span { display: flex; align-items: baseline; gap: 5px; color: var(--muted); font-size: 10px; }
.vehicle-fleet-toolbar > span strong { color: var(--ink); font-size: 18px; }
.vehicle-fleet-list { display: grid; gap: 8px; }

.vehicle-fleet-row {
  display: grid;
  grid-template-columns: 112px minmax(180px, 1fr) 180px 160px auto;
  align-items: center;
  gap: 15px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 12px;
  color: var(--ink);
  text-align: left;
  background: var(--surface);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.vehicle-fleet-row:hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--violet) 36%, var(--line)); box-shadow: 0 9px 22px rgba(42,37,90,.07); }
.vehicle-fleet-row > span:not(.vehicle-plate) { display: grid; gap: 4px; min-width: 0; }
.vehicle-fleet-row small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.vehicle-fleet-row > b { color: var(--violet); }
.vehicle-service-chip { justify-self: start; border-radius: 999px; padding: 6px 8px; color: #287754; background: var(--green-soft); font-size: 8px; font-weight: 850; }
.vehicle-service-chip.overdue { color: #b53e49; background: var(--red-soft); }

.vehicle-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.vehicle-form-grid > label {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}

.vehicle-form-grid > label > span { color: var(--muted); font-size: 9px; font-weight: 600; }
.vehicle-form-grid input,
.vehicle-form-grid select,
.vehicle-form-grid textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 11px 12px; color: var(--ink); background: var(--surface); outline: 0; }
.vehicle-form-grid input:focus,
.vehicle-form-grid select:focus,
.vehicle-form-grid textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px color-mix(in srgb, var(--violet) 14%, transparent); }
.vehicle-form-grid textarea { resize: vertical; }
.vehicle-form-grid label small { color: var(--muted); font-size: 9px; font-weight: 500; line-height: 1.4; }
.vehicle-form-wide { grid-column: 1 / -1; }

.vehicle-check {
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 12px;
}

.vehicle-check input { width: 19px; height: 19px; }
.vehicle-check > span { display: grid; gap: 3px; }
.vehicle-check > span strong { color: var(--ink); font-size: 11px; }

html[data-theme="dark"] .role-permission-group,
html[data-theme="dark"] .vehicle-empty-card,
html[data-theme="dark"] .vehicle-fleet-shortcut,
html[data-theme="dark"] .vehicle-stats article,
html[data-theme="dark"] .vehicle-section,
html[data-theme="dark"] .vehicle-fleet-row,
html[data-theme="dark"] .vehicle-document-card,
html[data-theme="dark"] .vehicle-form-grid input,
html[data-theme="dark"] .vehicle-form-grid select,
html[data-theme="dark"] .vehicle-form-grid textarea,
html[data-theme="dark"] .vehicle-fleet-toolbar input { background: var(--surface); }

html[data-theme="dark"] .vehicle-alert-strip { border-color: #704e34; color: #f0c8a7; background: #2b231d; }
html[data-theme="dark"] .vehicle-stats article.alert { border-color: #663b42; background: #2c2024; }

@media (max-width: 850px) {
  .vehicle-stats { grid-template-columns: 1fr 1fr; }
  .vehicle-document-grid { grid-template-columns: 1fr 1fr; }
  .vehicle-record { grid-template-columns: 105px minmax(0, 1fr) auto; }
  .vehicle-record-metric { display: none; }
  .vehicle-service-record { grid-template-columns: 100px minmax(0, 1fr) auto; }
  .vehicle-service-record > div:nth-of-type(2) { display: none; }
  .vehicle-fleet-row { grid-template-columns: 105px minmax(0, 1fr) 150px auto; }
  .vehicle-fleet-row .vehicle-service-chip { display: none; }
}

@media (max-width: 620px) {
  .role-permission-group > header { grid-template-columns: 1fr auto; gap: 8px; }
  .role-permission-group > header button { grid-column: 1 / -1; justify-self: stretch; }
  .vehicle-layout,
  .vehicle-fleet-layout,
  .vehicle-empty-layout { padding: 15px; }
  .vehicle-header-actions .ghost-button { display: none; }
  .vehicle-empty-card { grid-template-columns: auto 1fr; padding: 18px; }
  .vehicle-empty-card .primary-button { grid-column: 1 / -1; }
  .vehicle-hero { align-items: flex-start; }
  .vehicle-hero > div { align-items: flex-start; }
  .vehicle-hero > div > div strong { font-size: 13px; }
  .vehicle-hero .ghost-button { padding: 7px; font-size: 0; }
  .vehicle-hero .ghost-button::after { content: "Editar"; font-size: 9px; }
  .vehicle-plate.large { min-width: 98px; font-size: 14px; }
  .vehicle-stats { grid-template-columns: 1fr 1fr; gap: 7px; }
  .vehicle-stats article { padding: 12px; }
  .vehicle-stats article strong { font-size: 14px; }
  .vehicle-section > header { align-items: flex-end; padding: 13px; }
  .vehicle-section > header h3 { font-size: 14px; }
  .vehicle-section > header .primary-button { max-width: 145px; }
  .vehicle-record { grid-template-columns: 1fr auto; gap: 8px; padding: 13px; }
  .vehicle-record-date { grid-column: 1; }
  .vehicle-record-main { grid-column: 1 / -1; grid-row: 2; }
  .vehicle-record-actions { grid-column: 2; grid-row: 1; }
  .vehicle-document-grid { grid-template-columns: 1fr; padding: 10px; }
  .vehicle-service-record { grid-template-columns: 1fr auto; gap: 8px; padding: 13px; }
  .vehicle-service-date { grid-column: 1; }
  .vehicle-service-record > div:first-of-type { grid-column: 1 / -1; }
  .vehicle-service-record footer { grid-column: 2; grid-row: 1; }
  .vehicle-fleet-toolbar { align-items: stretch; flex-direction: column; }
  .vehicle-fleet-row { grid-template-columns: 94px 1fr auto; gap: 9px; }
  .vehicle-fleet-row > span:nth-of-type(3) { grid-column: 2; }
  .vehicle-fleet-row > b { grid-column: 3; grid-row: 1 / span 2; }
  .vehicle-form-grid { grid-template-columns: 1fr; }
  .vehicle-form-wide { grid-column: auto; }
  .vehicle-deleted article { align-items: flex-start; flex-wrap: wrap; }
}


/* Source: assets/equipment.css */
.equipment-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.equipment-header-actions .primary-button {
  padding: 9px 12px;
  font-size: 10px;
}

.equipment-empty {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 390px;
  padding: 44px;
  background: var(--page);
}

.equipment-empty-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  color: var(--violet);
  background: var(--violet-soft);
  font-size: 30px;
  font-weight: 900;
}

.equipment-empty h3 { margin: 0 0 7px; font-size: 19px; }
.equipment-empty p { max-width: 540px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.equipment-empty > small { color: var(--muted); }

.equipment-layout {
  display: grid;
  grid-template-columns: minmax(330px, .88fr) minmax(430px, 1.12fr);
  gap: 13px;
  min-height: 610px;
  padding: 16px;
  background: var(--page);
}

.equipment-browser,
.equipment-detail {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}

.equipment-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 13px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}

.equipment-toolbar label {
  display: grid;
  flex: 1;
  gap: 6px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.equipment-toolbar input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 11px;
  color: var(--ink);
  background: var(--surface);
  outline: 0;
}

.equipment-toolbar input:focus {
  border-color: var(--violet);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--violet) 13%, transparent);
}

.equipment-toolbar > span {
  display: flex;
  align-items: baseline;
  gap: 5px;
  color: var(--muted);
  font-size: 9px;
  white-space: nowrap;
}

.equipment-toolbar > span strong { color: var(--ink); font-size: 17px; }
.equipment-list { display: grid; }

.equipment-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) minmax(130px, .8fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 13px;
  color: var(--ink);
  text-align: left;
  background: transparent;
  transition: background .18s ease, transform .18s ease;
}

.equipment-row:last-child { border-bottom: 0; }
.equipment-row:hover { background: color-mix(in srgb, var(--violet-soft) 42%, var(--surface)); }
.equipment-row.active { background: color-mix(in srgb, var(--violet-soft) 73%, var(--surface)); }

.equipment-row-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  color: var(--violet);
  background: var(--violet-soft);
  font-size: 17px;
  font-weight: 900;
}

.equipment-row > span:not(.equipment-row-icon) {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.equipment-row strong,
.equipment-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.equipment-row strong { font-size: 11px; }
.equipment-row small { color: var(--muted); font-size: 9px; }
.equipment-row > b { color: var(--violet); }

.equipment-detail {
  padding: 17px;
}

.equipment-detail-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}

.equipment-detail-title > div { display: grid; gap: 4px; min-width: 0; }
.equipment-detail-title span { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.equipment-detail-title h3 { margin: 0; font-size: 19px; letter-spacing: -.025em; }
.equipment-detail-title p { margin: 0; color: var(--muted); font-size: 10px; }
.equipment-detail-title .ghost-button { flex: 0 0 auto; padding: 8px 10px; font-size: 9px; }

.equipment-tool-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
}

.equipment-tool-actions .ghost-button,
.equipment-tool-actions .danger-button {
  padding: 8px 10px;
  font-size: 9px;
  white-space: nowrap;
}

.equipment-current {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  border: 1px solid color-mix(in srgb, var(--violet) 20%, var(--line));
  border-radius: 14px;
  padding: 14px;
  color: #393075;
  background: color-mix(in srgb, var(--violet-soft) 78%, var(--surface));
}

.equipment-current > span {
  color: var(--violet);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
}

.equipment-current > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.equipment-current > div strong { font-size: 18px; }
.equipment-current > div b {
  border-radius: 999px;
  padding: 5px 8px;
  color: var(--violet-dark);
  background: color-mix(in srgb, var(--surface) 68%, transparent);
  font-size: 9px;
  white-space: nowrap;
}

.equipment-current p { margin: 0; color: #625b83; font-size: 10px; }

.equipment-notes {
  display: grid;
  gap: 5px;
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 10px 12px;
  background: var(--page);
}

.equipment-notes span { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.equipment-notes p { margin: 0; color: var(--ink); font-size: 10px; line-height: 1.5; }
.equipment-move-button { width: 100%; margin-top: 10px; }

.equipment-history-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-top: 21px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.equipment-history-heading h3 { margin: 4px 0 0; font-size: 16px; }
.equipment-history-heading > small { color: var(--muted); font-size: 9px; }
.equipment-history { display: grid; padding-top: 14px; }

.equipment-event {
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr) auto;
  gap: 9px;
  min-width: 0;
}

.equipment-event-line { position: relative; display: flex; justify-content: center; }
.equipment-event-line::after { content: ""; position: absolute; top: 10px; bottom: 0; width: 1px; background: var(--line); }
.equipment-event:last-child .equipment-event-line::after { display: none; }
.equipment-event-line i { position: relative; z-index: 1; width: 10px; height: 10px; margin-top: 3px; border: 3px solid var(--violet-soft); border-radius: 50%; background: var(--violet); }

.equipment-event-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding-bottom: 17px;
}

.equipment-event-copy time,
.equipment-event-copy small { color: var(--muted); font-size: 9px; }
.equipment-event-copy strong { font-size: 11px; }
.equipment-event-copy p { margin: 0; color: var(--ink); font-size: 10px; }
.equipment-event-copy blockquote { margin: 2px 0 0; border-left: 2px solid var(--line); padding-left: 8px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.equipment-event-copy .equipment-audit { margin-top: 2px; opacity: .8; }

.equipment-event-actions {
  display: flex;
  align-self: start;
  gap: 4px;
}

.equipment-event-actions button,
.equipment-deleted button {
  border: 0;
  padding: 4px;
  color: var(--violet);
  background: transparent;
  font-size: 8px;
  font-weight: 850;
}

.equipment-event-actions button:last-child { color: var(--red); }
.equipment-history-empty { margin: 0; padding: 20px 8px; color: var(--muted); text-align: center; font-size: 10px; }

.equipment-deleted {
  margin-top: 5px;
  border-top: 1px solid var(--line);
}

.equipment-deleted summary { padding: 10px 0; color: var(--muted); font-size: 9px; font-weight: 800; cursor: pointer; }
.equipment-deleted article { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--line); }
.equipment-deleted article > span { display: grid; gap: 3px; min-width: 0; margin-right: auto; }
.equipment-deleted article strong { font-size: 9px; }
.equipment-deleted article small { color: var(--muted); font-size: 8px; }

.equipment-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.equipment-form-grid > label {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}

.equipment-form-grid > label > span { color: var(--muted); font-size: 9px; font-weight: 600; }
.equipment-form-grid input,
.equipment-form-grid textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 11px 12px; color: var(--ink); background: var(--surface); outline: 0; }
.equipment-form-grid input:focus,
.equipment-form-grid textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px color-mix(in srgb, var(--violet) 14%, transparent); }
.equipment-form-grid textarea { resize: vertical; }
.equipment-form-grid label small { color: var(--muted); font-size: 9px; font-weight: 500; line-height: 1.4; }
.equipment-form-wide { grid-column: 1 / -1; }

.equipment-origin {
  display: grid;
  gap: 5px;
  border: 1px solid color-mix(in srgb, var(--violet) 20%, var(--line));
  border-radius: 13px;
  padding: 13px;
  background: var(--violet-soft);
}

.equipment-origin span { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.equipment-origin strong { font-size: 16px; }
.equipment-origin small { color: var(--muted); font-size: 9px; }

html[data-theme="dark"] .equipment-current { color: #e9e5ff; background: #292541; }
html[data-theme="dark"] .equipment-current p { color: #bbb3df; }
html[data-theme="dark"] .equipment-current > div b { color: #d8d2ff; }

@media (max-width: 850px) {
  .equipment-layout { grid-template-columns: minmax(280px, .8fr) minmax(380px, 1.2fr); }
  .equipment-row { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .equipment-row > span:nth-of-type(3) { grid-column: 2; }
  .equipment-row > b { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 690px) {
  .equipment-header-actions .primary-button { display: none; }
  .equipment-empty { grid-template-columns: auto 1fr; min-height: 360px; padding: 25px 18px; }
  .equipment-empty .primary-button,
  .equipment-empty > small { grid-column: 1 / -1; }
  .equipment-layout { grid-template-columns: 1fr; padding: 10px; }
  .equipment-browser,
  .equipment-detail { border-radius: 13px; }
  .equipment-toolbar { align-items: stretch; flex-direction: column; }
  .equipment-toolbar > span { align-self: flex-end; }
  .equipment-row { grid-template-columns: 32px minmax(0, 1fr) auto; padding: 11px; }
  .equipment-detail { padding: 14px; }
  .equipment-detail-title h3 { font-size: 17px; }
  .equipment-detail-title { align-items: stretch; flex-direction: column; }
  .equipment-tool-actions { width: 100%; }
  .equipment-tool-actions button { flex: 1; }
  .equipment-current > div { align-items: flex-start; flex-direction: column; gap: 7px; }
  .equipment-event { grid-template-columns: 15px minmax(0, 1fr); }
  .equipment-event-actions { grid-column: 2; margin: -12px 0 12px; }
  .equipment-form-grid { grid-template-columns: 1fr; }
  .equipment-form-wide { grid-column: auto; }
}


/* Source: assets/stock-control.css */
.stock-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.stock-header-actions .primary-button {
  padding: 9px 12px;
  font-size: 10px;
}

.stock-empty {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 19px;
  min-height: 420px;
  padding: 45px;
  background: var(--page);
}

.stock-empty-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 19px;
  color: #2b8b68;
  background: #e5f6ef;
  font-size: 31px;
  font-weight: 950;
}

.stock-empty > div { display: grid; gap: 7px; }
.stock-empty h3 { margin: 0; font-size: 20px; }
.stock-empty p { max-width: 620px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.stock-empty small { color: var(--muted); font-size: 9px; line-height: 1.5; }

.stock-layout {
  display: grid;
  grid-template-columns: minmax(245px, .34fr) minmax(650px, 1fr);
  gap: 13px;
  min-height: 690px;
  padding: 15px;
  background: var(--page);
}

.stock-browser,
.stock-detail {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}

.stock-browser { align-self: start; }

.stock-history-heading {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}

.stock-history-heading label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.stock-history-heading input,
.stock-table-toolbar input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 11px;
  color: var(--ink);
  background: var(--surface);
  outline: 0;
}

.stock-history-heading input:focus,
.stock-table-toolbar input:focus,
.stock-physical input:focus {
  border-color: var(--violet);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--violet) 13%, transparent);
}

.stock-history-heading > span {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
  color: var(--muted);
  font-size: 9px;
}

.stock-history-heading > span strong { color: var(--ink); font-size: 17px; }
.stock-control-list { display: grid; max-height: 590px; overflow: auto; }

.stock-control-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 12px;
  color: var(--ink);
  text-align: left;
  background: transparent;
  transition: background .18s ease, transform .18s ease;
}

.stock-control-row:last-child { border-bottom: 0; }
.stock-control-row:hover { background: color-mix(in srgb, #e5f6ef 48%, var(--surface)); }
.stock-control-row.active { background: color-mix(in srgb, #e5f6ef 80%, var(--surface)); }

.stock-control-row-icon {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 10px;
  color: #27795d;
  background: #e5f6ef;
  font-size: 17px;
  font-weight: 950;
}

.stock-control-row > span:nth-child(2) { display: grid; gap: 4px; min-width: 0; }
.stock-control-row strong,
.stock-control-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-control-row strong { font-size: 10px; }
.stock-control-row small { color: var(--muted); font-size: 8px; }
.stock-control-row > b { color: #27795d; }

.stock-control-row i {
  overflow: hidden;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: var(--line);
}

.stock-control-row i b { display: block; height: 100%; border-radius: inherit; background: #34a779; }

.stock-control-state {
  border-radius: 999px;
  padding: 4px 6px;
  color: #247657;
  background: #e5f6ef;
  font-size: 7px;
  font-weight: 900;
  white-space: nowrap;
  text-transform: uppercase;
}

.stock-control-state.closed { color: var(--muted); background: var(--page); }

.stock-detail {
  align-self: start;
  padding: 16px;
}

.stock-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.stock-hero > div:first-child { display: grid; gap: 4px; min-width: 0; }
.stock-hero > div:first-child > span { color: #278260; font-size: 9px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.stock-hero h3 { margin: 0; font-size: 20px; letter-spacing: -.025em; }
.stock-hero p { overflow: hidden; margin: 0; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

.stock-hero-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.stock-hero-actions .ghost-button,
.stock-hero-actions .danger-button { padding: 8px 9px; font-size: 8px; white-space: nowrap; }

.stock-progress {
  display: grid;
  gap: 7px;
  margin-top: 13px;
  border: 1px solid color-mix(in srgb, #35a779 24%, var(--line));
  border-radius: 13px;
  padding: 12px 13px;
  background: color-mix(in srgb, #e5f6ef 65%, var(--surface));
}

.stock-progress > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.stock-progress span { color: #27795d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.stock-progress strong { font-size: 10px; }
.stock-progress > i { overflow: hidden; height: 6px; border-radius: 999px; background: color-mix(in srgb, #278260 13%, var(--surface)); }
.stock-progress > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2d9c70, #54bb91); transition: width .25s ease; }
.stock-progress small { color: var(--muted); font-size: 8px; }

.stock-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.stock-summary article {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 9px 10px;
  background: var(--surface);
}

.stock-summary small { overflow: hidden; color: var(--muted); font-size: 7px; font-weight: 900; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.stock-summary strong { font-size: 17px; }
.stock-summary em { overflow: hidden; color: var(--muted); font-size: 7px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.stock-summary .pending { border-color: #efdabb; background: #fff8ef; }
.stock-summary .shortage { border-color: #f1c6cb; background: #fff2f3; }
.stock-summary .surplus { border-color: #bfd7f4; background: #f0f7ff; }
.stock-summary .ok,
.stock-summary .counted { border-color: #c5e8d8; background: #f0faf5; }
.stock-summary .shortage strong { color: #c73f4d; }
.stock-summary .surplus strong { color: #347bc2; }
.stock-summary .ok strong,
.stock-summary .counted strong { color: #278260; }

.stock-table-card {
  overflow: hidden;
  margin-top: 11px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}

.stock-table-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  align-items: end;
  gap: 10px;
  padding: 11px;
  border-bottom: 1px solid var(--line);
}

.stock-table-toolbar label { display: grid; gap: 5px; }
.stock-table-toolbar label > span { color: var(--muted); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.stock-table-toolbar input { padding: 8px 10px; font-size: 9px; }
.stock-table-toolbar > span { align-self: center; color: var(--muted); font-size: 8px; white-space: nowrap; }

.stock-filters {
  display: flex;
  gap: 3px;
  border-radius: 10px;
  padding: 3px;
  background: var(--page);
}

.stock-filters button {
  border: 0;
  border-radius: 8px;
  padding: 8px 9px;
  color: var(--muted);
  background: transparent;
  font-size: 8px;
  font-weight: 850;
}

.stock-filters button.active { color: var(--violet); background: var(--surface); box-shadow: 0 2px 7px rgba(35,31,80,.08); }

.stock-zero-helper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, #fff8ef 66%, var(--surface));
}

.stock-zero-helper > span { display: grid; gap: 3px; }
.stock-zero-helper strong { font-size: 9px; }
.stock-zero-helper small { color: var(--muted); font-size: 8px; }
.stock-zero-helper button { padding: 7px 9px; font-size: 8px; white-space: nowrap; }

.stock-table-scroll { max-height: 470px; overflow: auto; }
.stock-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.stock-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  padding: 9px 10px;
  color: var(--muted);
  text-align: left;
  background: color-mix(in srgb, var(--page) 88%, var(--surface));
  box-shadow: 0 1px var(--line);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-table th:nth-child(3),
.stock-table th:nth-child(4) { text-align: right; }
.stock-table td { border-bottom: 1px solid var(--line); padding: 8px 10px; color: var(--ink); font-size: 9px; vertical-align: middle; }
.stock-table tbody tr:last-child td { border-bottom: 0; }
.stock-table tbody tr { transition: opacity .16s ease, background .16s ease; }
.stock-table tbody tr:hover { background: color-mix(in srgb, var(--page) 52%, var(--surface)); }
.stock-table tbody tr.saving { opacity: .52; }
.stock-table td:first-child strong { color: var(--violet); font-size: 9px; }
.stock-table td:nth-child(2) { max-width: 360px; }
.stock-table td:nth-child(2) span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-number { text-align: right; font-weight: 850; font-variant-numeric: tabular-nums; }
.stock-physical { width: 112px; text-align: right; }
.stock-physical input {
  width: 96px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 8px;
  color: var(--ink);
  text-align: right;
  background: var(--surface);
  outline: 0;
  font-size: 10px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.stock-physical strong { font-variant-numeric: tabular-nums; }
.stock-import-missing { display: block; width: max-content; margin-top: 4px; border-radius: 999px; padding: 3px 7px; color: #8a5a14; background: #fff0d7; font-size: 8px; font-weight: 800; }
.stock-table td[data-stock-result] { min-width: 105px; }
.stock-table td[data-stock-result] small { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; }

.stock-result {
  display: inline-flex;
  justify-content: center;
  min-width: 68px;
  border-radius: 999px;
  padding: 5px 7px;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}

.stock-result.pending { color: #9b6b2c; background: #fff1df; }
.stock-result.shortage { color: #c43b4a; background: #ffe8eb; }
.stock-result.surplus { color: #2f76ba; background: #e5f2ff; }
.stock-result.ok { color: #277d5c; background: #e2f6ed; }

.stock-save-line { min-height: 32px; padding: 9px 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }

.stock-import-form { display: grid; gap: 18px; }
.stock-import-callout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  border: 1px solid #c7e7d8;
  border-radius: 14px;
  padding: 14px;
  background: #eff9f4;
}

.stock-import-callout > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #27795d; background: #dff3e9; font-size: 20px; }
.stock-import-callout > div { display: grid; gap: 4px; }
.stock-import-callout strong { font-size: 11px; }
.stock-import-callout p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.stock-import-form > label { display: grid; gap: 7px; font-size: 11px; font-weight: 850; }
.stock-import-form input[type="file"] { border: 1px dashed color-mix(in srgb, var(--violet) 35%, var(--line)); border-radius: 12px; padding: 17px; color: var(--muted); background: var(--page); }
.stock-import-form label small { color: var(--muted); font-size: 8px; font-weight: 500; }
.stock-import-rules { display: grid; gap: 8px; margin: 0; border-radius: 13px; padding: 13px 15px 13px 31px; color: var(--muted); background: var(--page); font-size: 9px; line-height: 1.45; }

html[data-theme="dark"] .stock-empty-icon,
html[data-theme="dark"] .stock-control-row-icon { color: #79d0ac; background: #203f37; }
html[data-theme="dark"] .stock-control-row:hover,
html[data-theme="dark"] .stock-control-row.active { background: #20352f; }
html[data-theme="dark"] .stock-control-state { color: #89d8b7; background: #203f37; }
html[data-theme="dark"] .stock-progress { background: #1f352f; }
html[data-theme="dark"] .stock-summary .pending { background: #352c20; }
html[data-theme="dark"] .stock-summary .shortage { background: #392429; }
html[data-theme="dark"] .stock-summary .surplus { background: #202e3d; }
html[data-theme="dark"] .stock-summary .ok,
html[data-theme="dark"] .stock-summary .counted,
html[data-theme="dark"] .stock-import-callout { background: #20352f; }
html[data-theme="dark"] .stock-zero-helper { background: #332d24; }

@media (max-width: 980px) {
  .stock-layout { grid-template-columns: minmax(220px, .3fr) minmax(610px, 1fr); }
  .stock-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stock-table-toolbar { grid-template-columns: minmax(180px, 1fr) auto; }
  .stock-table-toolbar > span { display: none; }
}

@media (max-width: 720px) {
  .stock-header-actions .primary-button { display: none; }
  .stock-empty { grid-template-columns: auto 1fr; min-height: 360px; padding: 25px 18px; }
  .stock-empty > .primary-button,
  .stock-empty > small { grid-column: 1 / -1; }
  .stock-layout { grid-template-columns: 1fr; min-height: 0; padding: 9px; }
  .stock-control-list { max-height: 190px; }
  .stock-detail { padding: 12px; }
  .stock-hero { flex-direction: column; align-items: stretch; }
  .stock-hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-hero-actions > * { text-align: center; }
  .stock-progress > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .stock-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-table-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .stock-filters { overflow-x: auto; }
  .stock-filters button { flex: 1 0 auto; }
  .stock-zero-helper { align-items: stretch; flex-direction: column; }
  .stock-table-scroll { max-height: 520px; }
  .stock-table { min-width: 680px; }
  .stock-import-callout { align-items: flex-start; }
}


/* Source: assets/device-labels.css */
.devices-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.device-public-panel { display: grid; gap: 9px; margin-top: 14px; border: 1px solid #cec8fb; border-radius: 14px; padding: 13px; background: var(--violet-soft); }
.device-public-panel > span { display: grid; gap: 4px; }
.device-public-panel strong { color: var(--violet); font-size: 10px; }
.device-public-panel small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.device-public-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.device-label-picker { padding: 20px 24px 25px; background: var(--page); }
.device-label-picker-info { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 13px; border: 1px solid var(--line); border-radius: 13px; padding: 13px 15px; background: var(--surface); }
.device-label-picker-info span { display: grid; gap: 4px; }
.device-label-picker-info strong { font-size: 12px; }
.device-label-picker-info small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.device-label-picker-list { display: grid; gap: 8px; max-height: 520px; overflow-y: auto; }
.device-label-choice { display: grid; grid-template-columns: 22px 105px 1fr auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 11px 13px; background: var(--surface); cursor: pointer; }
.device-label-choice:hover { border-color: var(--violet); }
.device-label-choice input { width: 18px; height: 18px; margin: 0; }
.device-label-choice > strong { color: var(--violet); font-size: 11px; }
.device-label-choice > span { display: grid; gap: 3px; min-width: 0; }
.device-label-choice > span b { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.device-label-choice > span small,.device-label-choice > small { color: var(--muted); font-size: 8px; }
.device-label-picker footer { position: sticky; bottom: -25px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px -24px -25px; border-top: 1px solid var(--line); padding: 13px 24px; background: var(--surface); }
.device-label-picker footer span { color: var(--muted); font-size: 9px; }

.public-device-page { min-height: 100vh; margin: 0; color: #171b2d; background: #f2f3f8; font-family: Inter,Segoe UI,Arial,sans-serif; }
.public-device-shell { width: min(850px, calc(100% - 28px)); margin: 24px auto; border: 1px solid #dfe1ea; border-radius: 22px; overflow: hidden; background: #fff; box-shadow: 0 20px 60px rgba(25,30,55,.1); }
.public-device-brand { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #e7e8ef; padding: 18px 22px; }
.public-device-brand > span:last-child { display: grid; gap: 3px; }
.public-device-brand strong { font-size: 15px; }
.public-device-brand small { color: #7e8497; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.public-device-logo { width: 40px; height: 40px; display: flex; align-items: end; justify-content: center; gap: 3px; border-radius: 12px; padding: 9px; box-sizing: border-box; background: linear-gradient(145deg,#7362e7,#4f42b9); transform: rotate(-5deg); }
.public-device-logo i { width: 4px; border-radius: 3px; background: #fff; }
.public-device-logo i:nth-child(1) { height: 8px; }.public-device-logo i:nth-child(2) { height: 15px; }.public-device-logo i:nth-child(3) { height: 20px; }
.public-device-hero { padding: 26px 26px 22px; color: #fff; background: linear-gradient(135deg,#5e50ce,#4c3faa); }
.public-device-hero > span { color: #dcd7ff; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.public-device-hero h1 { margin: 8px 0 3px; font-size: clamp(34px,8vw,62px); line-height: 1; letter-spacing: -.04em; }
.public-device-hero p { margin: 0; color: #e7e4ff; font-size: 13px; line-height: 1.5; }
.public-device-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.public-device-badges b { border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 7px 10px; color: #fff; background: rgba(255,255,255,.1); font-size: 9px; }
.public-device-data { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border-bottom: 1px solid #e8e9f0; background: #e8e9f0; }
.public-device-data p { display: grid; gap: 5px; margin: 0; padding: 16px 20px; background: #fff; }
.public-device-data span { color: #858a9c; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.public-device-data strong { font-size: 12px; }
.public-device-serials { padding: 22px 24px 25px; }
.public-device-serials > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.public-device-serials > header span { display: grid; gap: 4px; }
.public-device-serials > header strong { font-size: 16px; }.public-device-serials > header small { color: #858a9c; font-size: 9px; }
.public-device-serials button { border: 0; border-radius: 10px; padding: 10px 14px; color: #fff; background: #5e50ce; font-weight: 800; cursor: pointer; }
.public-device-serials > div { max-height: 520px; overflow: auto; border: 1px solid #e2e3ea; border-radius: 13px; }
.public-device-serials p { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 8px; min-height: 40px; margin: 0; border-bottom: 1px solid #ececf2; padding: 0 12px; }
.public-device-serials p:last-child { border-bottom: 0; }.public-device-serials p span { color: #9296a6; font-size: 9px; }.public-device-serials p strong { font: 600 12px Consolas,monospace; }
.public-device-footer { border-top: 1px solid #e8e9f0; padding: 14px 22px; color: #8c91a1; background: #fafafd; font-size: 9px; text-align: center; }
.public-device-unavailable { display: grid; place-items: center; min-height: 430px; padding: 35px; text-align: center; }
.public-device-unavailable > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: #d74655; background: #ffecef; font-size: 28px; }
.public-device-unavailable h1 { margin: 18px 0 0; }.public-device-unavailable p { max-width: 500px; color: #7d8293; line-height: 1.6; }

.device-label-print-page { margin: 0; color: #111528; background: #e7e8ed; font-family: Inter,Segoe UI,Arial,sans-serif; }
.device-print-toolbar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 18px; color: #fff; background: #211d44; }
.device-print-toolbar span { display: grid; gap: 2px; }.device-print-toolbar small { color: #cbc6ef; }.device-print-toolbar button { border: 0; border-radius: 10px; padding: 10px 18px; color: #fff; background: #6a58dc; font-weight: 850; cursor: pointer; }
.device-label-sheets { width: 297mm; margin: 10px auto; }
.device-label-sheet { width: 281mm; height: 194mm; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 5mm; box-sizing: border-box; margin: 0 auto 10mm; page-break-after: always; break-after: page; }
.device-label-sheet:last-child { page-break-after: auto; break-after: auto; }
.device-label { min-width: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; overflow: hidden; border: .35mm solid #1d2132; border-radius: 3.5mm; background: #fff; }
.device-label-empty { visibility: hidden; }
.device-label-brand { display: flex; align-items: center; justify-content: space-between; gap: 3mm; border-bottom: .25mm solid #d9dbe4; padding: 3mm 4mm 2.5mm; }
.device-label-brand span { display: grid; gap: .5mm; }.device-label-brand strong { font-size: 3.4mm; }.device-label-brand small { color: #74798a; font-size: 1.7mm; font-weight: 800; letter-spacing: .12em; }
.device-label-eos { color: #222; font-size: 5mm; font-weight: 950; }
.brand-pgo{color:#f47a24!important;font-style:normal}.brand-sn{color:#009fe3!important;font-style:normal}.device-label-eos i{font-style:normal}.public-device-brand strong span{font-weight:950}
.device-label-main { display: grid; grid-template-columns: 1fr 27mm; align-items: center; gap: 4mm; padding: 3mm 4mm; }
.device-label-main h1 { margin: 0; font-size: 10.5mm; line-height: .95; letter-spacing: -.045em; }.device-label-main p { margin: 2mm 0 0; font-size: 2.8mm; font-weight: 800; line-height: 1.3; }
.device-label-main .device-qr { width: 27mm; height: 27mm; }
.device-label-meta { display: grid; grid-template-columns: repeat(3,1fr); border-top: .25mm solid #d9dbe4; border-bottom: .25mm solid #d9dbe4; }
.device-label-meta span { display: grid; gap: 1mm; padding: 2.4mm 3mm; border-right: .25mm solid #d9dbe4; }.device-label-meta span:last-child { border-right: 0; }.device-label-meta small { color: #777c8d; font-size: 1.7mm; font-weight: 900; }.device-label-meta strong { font-size: 3mm; }
.device-label-barcode { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 4mm; padding: 2.5mm 4mm 3mm; }
.device-label-barcode span { display: grid; gap: .5mm; text-align: center; }.device-label-barcode .device-code128 { width: 100%; height: 12mm; }.device-label-barcode b { font-size: 2.8mm; letter-spacing: .18em; }
.device-label-barcode > small { width: 26mm; color: #6d7283; font-size: 1.8mm; line-height: 1.25; text-align: center; }

@media (max-width:620px) {
  .devices-heading-actions,.device-public-actions { display: grid; grid-template-columns: 1fr; }
  .device-label-choice { grid-template-columns: 22px 1fr auto; }.device-label-choice > strong { grid-column: 2; }.device-label-choice > span { grid-column: 2; }.device-label-choice > small { grid-row: 1; grid-column: 3; }
  .device-label-picker-info,.device-label-picker footer { align-items: stretch; flex-direction: column; }
  .public-device-shell { width: min(100% - 16px,850px); margin: 8px auto; border-radius: 17px; }
  .public-device-brand { padding: 15px; }.public-device-brand strong { font-size: 12px; }
  .public-device-hero { padding: 22px 18px; }.public-device-data { grid-template-columns: 1fr; }
  .public-device-serials { padding: 18px 14px; }.public-device-serials > header { align-items: stretch; flex-direction: column; }.public-device-serials button { width: 100%; }
}

@media print {
  @page { size: A4 landscape; margin: 8mm; }
  .device-label-print-page { background: #fff; }
  .device-print-toolbar { display: none !important; }
  .device-label-sheets { width: auto; margin: 0; }
  .device-label-sheet { margin: 0; }
}
.public-device-hero.analysis{background:linear-gradient(135deg,#30275f,#5b4dcc)}.public-analysis-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px}.public-analysis-groups article{border:1px solid #e2e3ea;border-radius:12px;overflow:hidden}.public-analysis-groups header{display:flex;justify-content:space-between;padding:10px;background:#eeecfa}.public-analysis-groups header span{display:grid}.public-analysis-groups p{display:grid;grid-template-columns:35px 1fr;margin:0;border-top:1px solid #e8e9f0;padding:8px 10px}@media(max-width:760px){.public-analysis-groups{grid-template-columns:1fr}}


/* Source: assets/device-analysis.css */
.analysis-admin,.analysis-editor,.analysis-detail{padding:20px 24px}.analysis-heading,.analysis-editor-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.analysis-heading>div,.analysis-editor-title>div{display:grid;gap:4px}.analysis-heading span{color:var(--muted)}.analysis-box-list{display:grid;gap:8px}.analysis-box-list>button{display:grid;grid-template-columns:120px 1fr auto 18px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--surface);color:inherit;text-align:left;cursor:pointer}.analysis-box-list>button>span{display:grid;gap:3px}.analysis-box-list small{color:var(--muted)}.analysis-code{color:#6554d7;font-weight:900}.analysis-box-list em{border-radius:999px;padding:5px 8px;background:#fff1cc;color:#7f6200;font-size:9px;font-style:normal;font-weight:800}.analysis-general{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.analysis-general>div{display:grid;align-content:center;gap:5px;padding:14px;border-radius:12px;background:var(--violet-soft)}.analysis-general label{display:grid;gap:6px}.analysis-general textarea{min-height:80px}.analysis-group{margin-bottom:12px;border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--surface)}.analysis-group>header{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:10px}.analysis-group>header label{display:grid;gap:5px}.analysis-group>header>span{display:grid;text-align:center}.analysis-group>header>button{border:0;background:none;color:#c63e4c;cursor:pointer}.analysis-group .scanner-input{margin:12px 0}.analysis-serials{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.analysis-serials>p{display:grid;grid-template-columns:25px 1fr 25px;align-items:center;margin:0;border:1px solid var(--line);border-radius:7px;padding:6px}.analysis-serials>p button{border:0;background:none;cursor:pointer}.analysis-editor>footer{display:flex;justify-content:flex-end;gap:8px}.analysis-detail-head{display:flex;justify-content:space-between;gap:18px}.analysis-detail-head h3{margin:7px 0}.analysis-detail-head p{color:var(--muted)}.analysis-detail-head label{display:grid;gap:6px}.analysis-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.analysis-detail-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.analysis-detail-groups article{border:1px solid var(--line);border-radius:11px;overflow:hidden}.analysis-detail-groups header{display:flex;justify-content:space-between;gap:8px;padding:10px;background:var(--violet-soft)}.analysis-detail-groups header>span{display:grid}.analysis-detail-groups p{display:grid;grid-template-columns:30px 1fr;margin:0;border-top:1px solid var(--line);padding:7px 10px}.public-device-hero.analysis{background:linear-gradient(135deg,#30275f,#5b4dcc)}.public-analysis-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px}.public-analysis-groups article{border:1px solid #e2e3ea;border-radius:12px;overflow:hidden}.public-analysis-groups header{display:flex;justify-content:space-between;padding:10px;background:#eeecfa}.public-analysis-groups header span{display:grid}.public-analysis-groups p{display:grid;grid-template-columns:35px 1fr;margin:0;border-top:1px solid #e8e9f0;padding:8px 10px}.pa-print-page{margin:0;background:#ddd;font-family:Arial,sans-serif}.pa-toolbar{display:flex;justify-content:space-between;padding:12px 20px;background:#211d44;color:#fff}.pa-toolbar button{padding:8px 18px}.pa-label{width:190mm;min-height:270mm;box-sizing:border-box;margin:8mm auto;background:#fff;border:1px solid #111}.pa-label>header{display:grid;grid-template-columns:1fr auto;align-items:center;padding:8mm;background:#30275f;color:#fff}.pa-label h1{margin:2mm 0 0}.pa-code{display:grid;grid-template-columns:auto 25mm;align-items:center;gap:3mm;text-align:right}.pa-code span{display:grid}.pa-code .device-qr{width:25mm;height:25mm}.pa-code em{grid-column:2;font-size:2mm;font-style:normal}.pa-summary{display:flex;gap:12mm;padding:3mm 7mm;border-bottom:.3mm solid #aaa}.pa-print-groups{display:grid;grid-template-columns:1fr 1fr;gap:3mm;padding:4mm}.pa-print-group{border:.3mm solid #777}.pa-print-group header{display:flex;justify-content:space-between;padding:2mm;background:#eceaf7;font-size:2.5mm}.pa-print-group>div{display:grid;grid-template-columns:6mm 1fr 45mm;align-items:center;gap:2mm;border-top:.2mm solid #bbb;padding:1.4mm 2mm}.pa-print-group code{font-size:2.5mm;font-weight:700}.pa-print-group .device-code128{width:45mm;height:7mm}.pa-label>footer{display:flex;justify-content:space-between;padding:3mm 7mm;border-top:.3mm solid #aaa;font-size:2.4mm}@media(max-width:760px){.analysis-general,.analysis-detail-groups,.public-analysis-groups{grid-template-columns:1fr}.analysis-group>header{grid-template-columns:1fr}.analysis-serials{grid-template-columns:1fr}.analysis-box-list>button{grid-template-columns:1fr auto}.analysis-box-list .analysis-code{grid-column:1}.analysis-detail-head{flex-direction:column}}@media print{@page{size:A4 portrait;margin:10mm}.pa-toolbar{display:none}.pa-print-page{background:#fff}.pa-label{width:auto;min-height:auto;margin:0}}
.pa-label{width:198mm;min-height:0}.pa-label>header{padding:5mm 6mm}.pa-label h1{font-size:7mm}.pa-code{grid-template-columns:auto 20mm;gap:2mm}.pa-code .device-qr{width:20mm;height:20mm}.pa-summary{gap:8mm;padding:2mm 5mm;font-size:3mm}.pa-print-groups{display:block;padding:2.5mm}.pa-print-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:2mm}.pa-print-group header{grid-column:1/-1;padding:1.2mm 1.5mm;font-size:2.2mm}.pa-print-group>div{grid-template-columns:4mm 1fr;gap:.8mm;border-top:.2mm solid #bbb;border-left:.2mm solid #bbb;padding:.7mm 1mm;break-inside:avoid}.pa-print-group>div:nth-child(3n+2){border-left:0}.pa-print-group code{overflow:hidden;font-size:2.05mm;white-space:nowrap}.pa-print-group .device-code128{grid-column:1/-1;width:100%;height:4.2mm}.pa-label>footer{padding:1.5mm 4mm;font-size:2.1mm}@media print{@page{size:A4 portrait;margin:6mm}.pa-label{width:auto;margin:0;border:.2mm solid #555}.pa-print-group{break-inside:auto}}

.analysis-actions #delete-analysis-box,.analysis-delete-form .danger-button{background:#a51d31;color:#fff;border:1px solid #a51d31;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer}.analysis-delete-form .danger-button:disabled{opacity:.45;cursor:not-allowed}.analysis-delete-form label{display:grid;gap:8px;max-width:440px}.analysis-delete-form label strong{display:inline}.analysis-delete-form input{padding:12px;border:1px solid var(--line,#a6adbd);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#202536);font:inherit}.analysis-delete-form>p{line-height:1.65}.analysis-delete-form #analysis-delete-error{color:#c52a42;min-height:1.5em}.analysis-delete-form :is(button,input):focus-visible{outline:3px solid #9985ff;outline-offset:3px}


/* Source: assets/device-analysis-search.css */
.analysis-search {
  display: grid;
  gap: 10px;
  margin: 2px 0 18px;
  padding: 16px;
  border: 1px solid #d8d3f5;
  border-radius: 15px;
  background: linear-gradient(135deg, #f5f3ff, #efedff);
}
.analysis-search > label { color: #30275f; font-size: 12px; font-weight: 900; }
.analysis-search > div { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.analysis-search > div > span { color: #6554d7; font-size: 24px; text-align: center; }
.analysis-search input { width: 100%; min-height: 48px; box-sizing: border-box; border: 1px solid #d9d9e8; border-radius: 12px; padding: 0 15px; background: #fff; font-size: 14px; font-weight: 700; outline: none; }
.analysis-search input:focus { border-color: #7565df; box-shadow: 0 0 0 3px rgba(101,84,215,.12); }
.analysis-search > div > button { min-height: 48px; padding-inline: 20px; border-color: #d7d3ef; color: #5042bc; }
.analysis-search-result:empty { display: none; }
.analysis-search-result { display: grid !important; gap: 8px !important; margin-top: 2px !important; }
.analysis-search-result > button {
  display: grid !important;
  grid-template-columns: minmax(145px, .75fr) minmax(220px, 1.4fr) auto auto !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: 82px !important;
  box-sizing: border-box !important;
  padding: 14px 16px !important;
  border: 1px solid #cdc6fa !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: 0 7px 22px rgba(61,45,147,.08) !important;
  color: #222536 !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.analysis-search-result > button:hover { transform: translateY(-1px); border-color: #8677e6 !important; box-shadow: 0 10px 25px rgba(61,45,147,.14) !important; }
.analysis-search-result > button > span { display: grid !important; gap: 5px !important; min-width: 0; }
.analysis-search-result > button > span:first-child { padding-left: 12px; border-left: 4px solid #6554d7; }
.analysis-search-result > button > span:first-child small { color: #77738c !important; font-size: 9px !important; font-weight: 900 !important; letter-spacing: .08em; }
.analysis-search-result > button > span:first-child strong { color: #5c4bd0 !important; font-size: 21px !important; font-weight: 950 !important; letter-spacing: .01em; }
.analysis-search-result > button > span:nth-child(2) b { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.analysis-search-result > button > span:nth-child(2) small { overflow: hidden; color: #777b8a !important; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.analysis-search-result em { padding: 6px 10px !important; border-radius: 999px !important; background: #fff0c3 !important; color: #765a00 !important; font-size: 9px !important; font-style: normal !important; font-weight: 900 !important; white-space: nowrap; }
.analysis-search-result > button > b { padding: 10px 12px; border-radius: 9px; background: #6554d7; color: #fff; font-size: 10px; white-space: nowrap; }
.analysis-search-empty { margin: 0; padding: 12px 14px; border: 1px dashed #d4cffa; border-radius: 10px; background: rgba(255,255,255,.72); color: var(--muted); }

@media (max-width: 760px) {
  .analysis-search > div { grid-template-columns: 24px minmax(0, 1fr); }
  .analysis-search > div > button { grid-column: 1 / -1; }
  .analysis-search-result > button { grid-template-columns: 1fr auto !important; gap: 10px !important; }
  .analysis-search-result > button > span:nth-child(2) { grid-column: 1 / -1; }
  .analysis-search-result > button > b { grid-column: 1 / -1; text-align: center; }
}


/* Source: assets/remitos-admin.css */
.remito-heading-actions,.remito-actions{display:flex;align-items:center;gap:9px}.remito-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(120px,1fr)) auto;align-items:end;gap:10px;padding:18px 22px;border-bottom:1px solid var(--border,#e4e5ed)}.remito-filters label,.remito-create label{display:grid;gap:6px;font-size:12px;font-weight:700}.remito-filters input,.remito-filters select{width:100%}.remito-list{display:grid;gap:10px;padding:20px;max-height:65vh;overflow:auto}.remito-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--border,#e0e2ea);border-radius:14px;padding:15px;background:var(--surface,#fff)}.remito-main{display:grid;gap:5px}.remito-main small{color:var(--muted,#73788b)}.remito-status{width:max-content;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase}.remito-status.pending{background:#fff3cd;color:#806414}.remito-status.signed{background:#dff7e9;color:#187747}.remito-status.revoked{background:#fbe1e3;color:#a82d39}.remito-actions button,.remito-actions a{border:1px solid var(--border,#d9dbe5);background:transparent;color:inherit;border-radius:9px;padding:8px 10px;text-decoration:none;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.remito-actions .danger{color:#c22f3c}.remito-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.remito-filters{grid-template-columns:1fr 1fr}.remito-filters label:first-child{grid-column:1/-1}.remito-row{align-items:flex-start;flex-direction:column}.remito-actions{flex-wrap:wrap}.remito-form-grid{grid-template-columns:1fr}.remito-heading-actions{align-items:flex-end;flex-direction:column}}
.remito-form-grid textarea{min-height:86px}.remito-documents{display:grid;gap:12px;margin-top:8px;padding:16px;border:1px solid var(--border,#e0e2ea);border-radius:14px;background:var(--surface-soft,#f7f8fc)}.remito-documents-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.remito-documents-heading h3{margin:3px 0}.remito-document-row{display:grid;grid-template-columns:auto minmax(150px,1fr) 150px minmax(220px,1.4fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border,#e0e2ea);border-radius:11px;background:var(--surface,#fff)}.remito-document-row>strong{align-self:center;color:var(--primary,#6551db);font-size:12px}.remito-document-row button{margin-bottom:1px}.remito-document-numbers{font-weight:700;color:var(--primary,#6551db)!important}.remito-observation{font-style:italic}@media(max-width:900px){.remito-document-row{grid-template-columns:1fr 1fr}.remito-document-row>strong,.remito-document-row label:last-of-type{grid-column:1/-1}}@media(max-width:560px){.remito-document-row{grid-template-columns:1fr}.remito-document-row>*{grid-column:1!important}.remito-documents-heading{align-items:flex-start;flex-direction:column}}

.remito-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.remito-admin-counts{display:flex;flex-wrap:wrap;gap:12px;padding:14px 22px;border-bottom:1px solid var(--border,#e4e5ed);font-size:13px}.remito-admin-counts span{padding:8px 12px;border-radius:9px;background:var(--surface-soft,#f5f6fa)}.remito-report-create>p{color:var(--muted,#73788b);line-height:1.5}@media(max-width:760px){.remito-filters{grid-template-columns:1fr 1fr}.remito-filters label:first-child{grid-column:1/-1}}@media(max-width:440px){.remito-filters{grid-template-columns:1fr}.remito-admin-counts{flex-direction:column}}


/* Source: assets/clients.css */
.client-header-actions,.client-actions{display:flex;align-items:center;gap:10px}.clients-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto;gap:12px;align-items:end;padding:20px 22px;border-bottom:1px solid var(--line,#e3e6ef)}.clients-toolbar label{display:grid;gap:7px;font-size:12px;font-weight:700}.clients-toolbar input,.clients-toolbar select{width:100%;min-height:43px;padding:0 13px;border:1px solid var(--line,#dfe3ec);border-radius:12px;background:var(--surface,#fff);color:inherit}.clients-import-note,.clients-result-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 22px;background:rgba(94,79,199,.06);font-size:12px}.clients-result-head{background:transparent;border-bottom:1px solid var(--line,#e3e6ef)}.clients-result-head span,.clients-import-note small{color:var(--muted,#747b8e)}.clients-list{display:grid;gap:10px;padding:16px 22px;max-height:62vh;overflow:auto}.client-card{display:flex;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--line,#dfe3ec);border-radius:15px;background:var(--surface,#fff)}.client-number{font-size:10px;font-weight:800;letter-spacing:.12em;color:#6754da}.client-main h3{margin:5px 0 7px;font-size:17px}.client-main p{margin:0 0 5px}.client-main small{color:var(--muted,#747b8e)}.client-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px}.client-status{padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900}.client-status.connected{color:#087748;background:#dff7ea}.client-status.danger{color:#b42336;background:#ffe5e8}.client-status.warning{color:#9a5700;background:#fff0ce}.client-status.neutral{color:#586174;background:#edf0f5}.clients-import-help{padding:15px;border-radius:14px;background:rgba(94,79,199,.08)}.clients-import-help p{margin:6px 0 0}.client-preview{padding:24px}.client-preview>p{margin-top:0;color:var(--muted,#747b8e)}.client-preview>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.client-preview article{display:grid;gap:4px;padding:18px;border:1px solid var(--line,#dfe3ec);border-radius:14px;text-align:center}.client-preview article strong{font-size:28px}.client-preview article.new strong{color:#15905b}.client-preview article.changed strong{color:#d07a00}.modal-actions{padding:0 24px 24px;text-align:right}@media(max-width:720px){.clients-toolbar{grid-template-columns:1fr}.clients-import-note,.clients-result-head,.client-card{align-items:stretch;flex-direction:column}.client-side{align-items:flex-start}.client-actions{width:100%}.client-actions a{flex:1;text-align:center}.client-preview>div{grid-template-columns:1fr 1fr}.client-header-actions{gap:6px}.client-header-actions .primary-button{font-size:11px;padding:10px}}


/* Source: assets/clients-live.css */
.clients-toolbar{grid-template-columns:minmax(260px,1fr) 220px}
@media(max-width:720px){.clients-toolbar{grid-template-columns:1fr}}


/* Source: assets/installations-front.css */
.installation-front-page{display:grid;gap:26px;padding:8px 0 32px}.installation-front-hero{display:flex;align-items:flex-end;justify-content:space-between;min-height:110px}.installation-front-hero h1{margin:12px 0 3px;font-size:clamp(34px,4vw,54px);letter-spacing:-2.5px}.installation-front-hero p{margin:0;color:var(--muted);font-size:14px}.installation-front-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.installation-front-stats button{position:relative;min-height:118px;display:grid;gap:5px;padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:0 10px 30px rgba(25,30,55,.04)}.installation-front-stats button:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:19px 0 0 19px;background:#f0a04b}.installation-front-stats button:nth-child(2):before{background:#42af7b}.installation-front-stats button:nth-child(3):before{background:#5d6fe7}.installation-front-stats button:nth-child(4):before{background:#df6070}.installation-front-stats button.active{border-color:#6555df;box-shadow:0 0 0 3px rgba(101,85,223,.12)}.installation-front-stats span{font-size:10px;font-weight:900;letter-spacing:.9px;text-transform:uppercase;color:var(--muted)}.installation-front-stats strong{font-size:31px}.installation-front-stats small{color:var(--muted)}.installation-front-board{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 16px 45px rgba(25,30,55,.05)}.installation-front-board>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--line)}.installation-front-board h2{margin:0 0 4px;font-size:22px}.installation-front-board header p{margin:0;color:var(--muted);font-size:12px}.installation-front-board form{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(150px,.8fr) minmax(170px,.9fr) auto;gap:10px}.installation-front-board input,.installation-front-board select{min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--ink)}.installation-front-list{display:grid}.installation-front-list>button{width:100%;display:grid;grid-template-columns:1fr auto;gap:18px;padding:19px 24px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.installation-front-list>button:hover{background:var(--soft)}.installation-front-list>button:last-child{border-bottom:0}.installation-front-list>button>span{display:grid;gap:4px}.installation-front-list>button>span:last-child{justify-items:end;align-content:center}.installation-front-list small,.installation-front-list em{color:var(--muted);font-size:11px;font-style:normal}.installation-front-list strong{font-size:15px}.installation-front-loading{min-height:60vh;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted)}@media(max-width:950px){.installation-front-stats{grid-template-columns:1fr 1fr}.installation-front-board>header{align-items:stretch;flex-direction:column}.installation-front-board form{grid-template-columns:1fr 1fr}.installation-front-board form input{grid-column:1/-1}}@media(max-width:600px){.installation-front-page{gap:16px;padding-top:0}.installation-front-hero{min-height:90px}.installation-front-hero h1{font-size:36px}.installation-front-hero p{font-size:12px}.installation-front-stats{gap:9px}.installation-front-stats button{min-height:100px;padding:15px}.installation-front-stats strong{font-size:25px}.installation-front-board{border-radius:16px}.installation-front-board>header{padding:16px}.installation-front-board form{grid-template-columns:1fr}.installation-front-board form input{grid-column:auto}.installation-front-list>button{grid-template-columns:1fr;padding:16px}.installation-front-list>button>span:last-child{justify-items:start}.installation-front-list>button>span:last-child small{display:none}}


/* Source: assets/installations-crew.css */
.installation-front-board form{grid-template-columns:minmax(210px,1.25fr) minmax(145px,.72fr) minmax(150px,.78fr) minmax(165px,.85fr) auto}@media(max-width:1100px){.installation-front-board form{grid-template-columns:1fr 1fr}.installation-front-board form input{grid-column:1/-1}.installation-front-board form button{grid-column:1/-1}}@media(max-width:600px){.installation-front-board form{grid-template-columns:1fr}.installation-front-board form input,.installation-front-board form button{grid-column:auto}}


/* Source: assets/installations-status.css */
.installation-state.warranty{background:#fff3cf;color:#8b6300}.installation-status-form{margin:0 24px 18px;padding:18px;border:1px solid #eadcae;border-radius:16px;background:#fffbeb}.installation-status-form>div{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(260px,1.5fr) auto;align-items:end;gap:12px}.installation-status-form label{display:grid;gap:6px;font-size:12px;font-weight:850}.installation-status-form label small{font-weight:500;color:var(--muted)}.installation-status-form select,.installation-status-form textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit}.installation-status-form textarea{min-height:72px;resize:vertical}.installation-status-form label[hidden]{display:none}.installation-status-form>p{margin:10px 0 0;color:var(--muted);font-size:11px}.dialog:has(.installation-status-form) #certify-installation{display:none}@media(max-width:700px){.installation-status-form{margin:0 14px 14px;padding:14px}.installation-status-form>div{grid-template-columns:1fr}.installation-status-form .primary-button{width:100%}}


/* Source: assets/design-system.css */
/* PGO|SN unified visual language · 23-08-2026 */
:root {
  --pgo-primary: #5b50c8;
  --pgo-primary-strong: #463ca9;
  --pgo-primary-soft: #efedff;
  --pgo-orange: #f47a24;
  --pgo-blue: #009fe3;
  --pgo-success: #16815c;
  --pgo-warning: #b9681f;
  --pgo-danger: #b43d4b;
  --pgo-page: #f4f5f8;
  --pgo-surface: #ffffff;
  --pgo-surface-subtle: #f9fafc;
  --pgo-ink: #1c2030;
  --pgo-muted: #6f7687;
  --pgo-line: #dfe3ea;
  --pgo-radius-sm: 10px;
  --pgo-radius: 14px;
  --pgo-radius-lg: 20px;
  --pgo-shadow-sm: 0 1px 2px rgba(22, 28, 45, .04), 0 8px 24px rgba(22, 28, 45, .045);
  --pgo-shadow: 0 18px 48px rgba(22, 28, 45, .1);
  --pgo-focus: 0 0 0 4px rgba(91, 80, 200, .16);
  --pgo-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Compatibility aliases used by the existing modules. */
  --violet: var(--pgo-primary);
  --violet-dark: var(--pgo-primary-strong);
  --violet-soft: var(--pgo-primary-soft);
  --ink: var(--pgo-ink);
  --muted: var(--pgo-muted);
  --line: var(--pgo-line);
  --page: var(--pgo-page);
  --paper: var(--pgo-page);
  --surface: var(--pgo-surface);
  --card: var(--pgo-surface);
}

html { font-family: var(--pgo-font); text-rendering: optimizeLegibility; }
body { color: var(--pgo-ink); background-color: var(--pgo-page); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease,
    box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(91, 80, 200, .22);
  outline-offset: 2px;
}
input:focus, select:focus, textarea:focus { border-color: var(--pgo-primary); box-shadow: var(--pgo-focus); }

/* Shared brand treatment. */
.brand-mark, .monitor-logo, .tech-brand i {
  box-shadow: 0 9px 22px rgba(91, 80, 200, .2);
}
.brand-pgo { color: var(--pgo-orange) !important; }
.brand-sn { color: var(--pgo-blue) !important; }

/* Common surfaces and controls keep the same geometry across modules. */
.stat-card, .content-card, .panel, .modal-card, .release, .controls,
.tech-card, .tech-status, .tech-login, .monitor-column, .m-task,
.summary-card, .pin-card, .installation-admin-detail > section:first-child {
  border-color: var(--pgo-line);
  box-shadow: var(--pgo-shadow-sm);
}
.primary-button, .tech-primary, .updates-page .hero-actions .primary, .pin-card button {
  border-radius: var(--pgo-radius-sm);
  background: var(--pgo-primary);
  color: #fff;
  box-shadow: 0 10px 24px rgba(91, 80, 200, .22);
}
.primary-button:hover, .tech-primary:hover { background: var(--pgo-primary-strong); transform: translateY(-1px); }
.ghost-button, .tech-secondary, .monitor-controls button, .controls button {
  border-color: var(--pgo-line);
  border-radius: var(--pgo-radius-sm);
}

/* Main portal. */
.topbar { border-color: rgba(223, 227, 234, .92); box-shadow: 0 1px 0 rgba(22, 28, 45, .02); }
.dashboard { width: min(1320px, 100%); padding-top: 38px; }
.welcome-row h1, .board-heading h2, .modal-title, .updates-page .hero h1 { color: inherit; letter-spacing: -.04em; }
.stat-card, .content-card { border-radius: var(--pgo-radius); background: var(--pgo-surface); }

/* Operation dashboard · professional compact layout. */
.welcome-row { align-items: center; }
.welcome-row h1 { margin: 9px 0 7px; font-size: clamp(32px, 3vw, 42px); line-height: 1.06; }
.welcome-row p { font-size: 12px; }
.welcome-module-switch { gap: 9px; }
.welcome-module-switch button { padding-bottom: 7px; letter-spacing: .09em; }
.new-task-button { min-height: 44px; border-radius: 10px; padding-inline: 17px; box-shadow: 0 10px 24px rgba(91,80,200,.2); }
.stats-grid { gap: 12px; margin: 27px 0 21px; }
.stat-card { min-height: 104px; padding: 15px 16px; border-radius: 14px; box-shadow: var(--pgo-shadow-sm); }
.stat-card::before { width: 3px; }
.stat-card .stat-icon { width: 43px; height: 43px; border-radius: 11px; }
.stat-card strong { font-size: 27px; }
.stat-card:hover { transform: translateY(-2px); border-color: #cbc7ed; box-shadow: 0 14px 34px rgba(26,31,50,.09); }
.board-section { border-radius: 17px; box-shadow: 0 18px 48px rgba(22,28,45,.055); }
.board-heading { gap: 18px; padding: 20px; }
.board-heading h2 { font-size: 19px; letter-spacing: -.025em; }
.board-caption-line { gap: 11px; }
.board-tools { gap: 8px; }
.search-box { min-width: 250px; border-radius: 9px; background: var(--pgo-surface-subtle); }
.filter-tabs { min-height: 38px; border: 1px solid var(--pgo-line); border-radius: 9px; padding: 3px; background: var(--pgo-surface-subtle); }
.filter-tabs button { border-radius: 7px; }
.kanban-board { background: var(--pgo-surface-subtle); }
.kanban-column { padding: 15px 13px 22px; }
.kanban-column > header { padding: 0 3px 11px; }
.kanban-column h3 { font-size: 10px; letter-spacing: .065em; }
.kanban-column header b { background: var(--pgo-surface); border: 1px solid var(--pgo-line); }
.task-list { gap: 10px; }
.task-card { border-top-width: 1px; border-left: 3px solid #b8bbc4; border-radius: 11px; padding: 13px; box-shadow: 0 5px 16px rgba(25,30,48,.035); }
.task-card.important, .task-card.urgent { border-top-color: var(--pgo-line); }
.task-card.status-pending { border-left-color: var(--peach); }
.task-card.status-completed { border-left-color: var(--green); }
.task-card.status-certified { border-left-color: #5e8ed7; }
.task-card.status-canceled { border-left-color: var(--red); }
.task-card:hover { transform: translateY(-1px); border-color: #c9c5e9; border-left-color: var(--pgo-primary); box-shadow: 0 12px 26px rgba(25,30,48,.09); }
.task-card h4 { margin: 10px 0 7px; font-size: 13px; line-height: 1.4; }
.task-card .address { display: flex; align-items: center; gap: 5px; margin-bottom: 10px; color: var(--pgo-ink); font-size: 10px; font-weight: 750; }
.task-facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0; }
.task-facts:empty { display: none; }
.task-facts > span { min-width: 0; display: grid; gap: 2px; padding: 6px 8px; border-radius: 8px; background: var(--pgo-surface-subtle); }
.task-facts small { color: var(--pgo-muted); font-size: 7px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.task-facts strong { overflow-wrap: anywhere; color: var(--pgo-ink); font-size: 9px; font-weight: 750; }
.task-facts .task-fact-siga { color: #315f9e; background: #e8f0ff; }
.task-facts .task-fact-siga strong, .task-facts .task-fact-siga small { color: inherit; }
.task-facts .task-fact-alert { color: #b43d4b; background: #fff0f1; }
.task-facts .task-fact-alert strong, .task-facts .task-fact-alert small { color: inherit; }
.task-description { margin-top: 10px; color: var(--pgo-muted); line-height: 1.55; -webkit-line-clamp: 2; }
.task-meta { margin-top: 11px; padding-top: 10px; color: var(--pgo-muted); font-size: 8px; }
.task-meta time { text-align: right; }
.task-card .priority { padding: 4px 7px; border-radius: 999px; background: var(--pgo-surface-subtle); }
.task-card .priority.urgent { color: #b43d4b; background: #fff0f1; }
.task-card .priority.important { color: #ad5e1e; background: #fff1e5; }
.task-card-bottom { padding-top: 9px; border-top: 1px solid var(--pgo-line); }
.task-card .link-button { min-height: 30px; padding: 0 3px; font-size: 9px; }
.postit-front-page { display: grid; grid-template-rows:auto minmax(620px,calc(100vh - 225px)); gap: 17px; min-height: calc(100vh - 170px); }
.postit-front-page > header { display: flex; align-items:end; justify-content:space-between; gap:20px; }
.postit-front-page h1 { margin: 13px 0 4px; font-size: 38px; letter-spacing: -.045em; }
.postit-front-page p { margin: 0; color: var(--pgo-muted); font-size: 11px; }
.postit-front-frame { width: 100%; height: 100%; border: 1px solid var(--pgo-line); border-radius: 17px; background: #eef0f4; box-shadow: 0 18px 48px rgba(22,28,45,.065); }

/* Navigation drawer: clearer hierarchy and calmer interaction. */
.app-menu { width: min(390px, calc(100vw - 18px)); background: var(--pgo-surface); }
.app-menu-header { padding: 19px 20px; }
.app-menu-content { padding: 10px 14px 22px; }
.app-menu-group + .app-menu-group { margin-top: 16px; padding-top: 16px; }
.app-menu-label { padding-inline: 9px; color: var(--pgo-muted); letter-spacing: .14em; }
.app-menu-group nav { gap: 5px; }
.app-menu-item { min-height: 57px; border-radius: 11px; padding: 9px 10px; }
.app-menu-item:hover { background: var(--pgo-surface-subtle); transform: none; }
.app-menu-item.active { border-color: #c9c4ef; background: var(--pgo-primary-soft); box-shadow: none; }
.menu-item-icon { border-radius: 9px; background: var(--pgo-surface-subtle); }
.app-menu-footer { padding: 15px; background: var(--pgo-surface-subtle); }
.app-menu-user { border-radius: 11px; }

/* Dialogs and forms share one predictable visual grammar. */
.dialog-backdrop { background: rgba(20,24,36,.6); backdrop-filter: blur(7px); }
.dialog { border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: var(--pgo-surface); box-shadow: 0 32px 90px rgba(14,18,30,.3); }
.dialog > header { padding: 20px 23px 16px; border-color: var(--pgo-line); background: rgba(255,255,255,.96); backdrop-filter: blur(16px); }
.dialog h2 { font-size: 22px; letter-spacing: -.04em; }
.close-button { width: 36px; height: 36px; border: 1px solid var(--pgo-line); border-radius: 10px; color: var(--pgo-muted); background: var(--pgo-surface-subtle); }
.close-button:hover { color: var(--pgo-ink); border-color: #c9c4ef; background: var(--pgo-primary-soft); transform: none; }
.admin-back { width: max-content; padding: 4px 0; color: var(--pgo-primary); }
.dialog-form { gap: 16px; padding: 22px 23px 24px; }
.dialog-form label { gap: 7px; color: #4d5363; }
.dialog-form input, .dialog-form select, .dialog-form textarea,
.form-grid input, .form-grid select, .form-grid textarea {
  min-height: 43px; border-color: var(--pgo-line); border-radius: 10px; background: var(--pgo-surface-subtle);
}
.dialog-form textarea, .form-grid textarea { min-height: 94px; }
.dialog-form footer { position: sticky; bottom: -25px; z-index: 2; margin: 5px -23px -24px; padding: 14px 23px; border-top: 1px solid var(--pgo-line); background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.secondary-button { border-color: var(--pgo-line); border-radius: 10px; background: var(--pgo-surface); }
.danger-button { border-radius: 10px; }

/* Tables, lists, loading and feedback. */
.table-wrap, .report-table-wrap, .admin-table-wrap { border: 1px solid var(--pgo-line); border-radius: 13px; overflow: auto; }
table { border-collapse: separate; border-spacing: 0; }
table th { color: var(--pgo-muted); background: var(--pgo-surface-subtle); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
table td, table th { border-color: var(--pgo-line); }
table tbody tr:hover td { background: color-mix(in srgb, var(--pgo-primary-soft) 38%, var(--pgo-surface)); }
.empty-state, .center-state { color: var(--pgo-muted); }
.empty-state > span, .center-state .big-icon { color: var(--pgo-primary); background: var(--pgo-primary-soft); }
.spinner { border-color: #dedbea; border-top-color: var(--pgo-primary); }
.toast { right: 18px; bottom: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: #202536; box-shadow: 0 18px 50px rgba(12,16,27,.28); }

/* Administration and Office become two accents of the same product. */
.admin-workspace { background: var(--pgo-page); }
.admin-workspace-sidebar { background: #181b2f; box-shadow: 8px 0 28px rgba(19,23,47,.1); }
.admin-workspace-sidebar nav button, .admin-workspace-sidebar nav a { border-radius: 9px; }
.admin-workspace-sidebar nav button.active { background: var(--pgo-primary); box-shadow: 0 7px 18px rgba(84,72,215,.24); }
.admin-workspace-main { padding: 18px; }
.admin-workspace .dialog, .admin-workspace .dialog.wide { min-height: calc(100vh - 36px); border-radius: 16px; box-shadow: 0 16px 42px rgba(30,37,67,.065); }
.admin-home-header { min-height: 164px; padding: 31px 36px !important; }
.admin-home-header h2 { font-size: 34px; }
.admin-welcome { border-radius: 15px; box-shadow: 0 14px 34px rgba(58,48,159,.13); }
.admin-home-overview { gap: 12px; padding: 24px 30px 14px; }
.admin-home-overview > div { min-height: 108px; border-radius: 13px; box-shadow: var(--pgo-shadow-sm); }
.admin-home-guide { margin: 14px 30px 30px; border-radius: 14px; }
.office-workspace-sidebar { background: #10323a; }
.office-home-menu .admin-menu-card { box-shadow: var(--pgo-shadow-sm); }

/* Dark mode parity. */
html[data-theme="dark"] .dialog > header,
html[data-theme="dark"] .dialog-form footer { background: rgba(26,28,36,.96); }
html[data-theme="dark"] .dialog-form label { color: #c8ccd5; }
html[data-theme="dark"] table tbody tr:hover td { background: #252438; }

/* Dark mode uses the same hierarchy as light mode, with elevated blue-charcoal surfaces. */
html[data-theme="dark"] {
  --pgo-page: #0d1420;
  --pgo-surface: #151f2e;
  --pgo-surface-subtle: #111a27;
  --pgo-ink: #f3f6fb;
  --pgo-muted: #9aa8bb;
  --pgo-line: #2b3a4e;
  --pgo-primary: #8074f2;
  --pgo-primary-strong: #958bff;
  --pgo-primary-soft: #292852;
  --pgo-shadow-sm: 0 1px 1px rgba(0,0,0,.22), 0 12px 30px rgba(0,0,0,.16);
  --pgo-shadow: 0 22px 60px rgba(0,0,0,.28);
  --ink: var(--pgo-ink);
  --muted: var(--pgo-muted);
  --line: var(--pgo-line);
  --page: var(--pgo-page);
  --paper: var(--pgo-page);
  --surface: var(--pgo-surface);
  --card: var(--pgo-surface);
  color-scheme: dark;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .app-shell { color: var(--pgo-ink); background: var(--pgo-page); }
html[data-theme="dark"] .topbar { border-color: #27364a; background: #101827; box-shadow: 0 1px 0 rgba(255,255,255,.02); }
html[data-theme="dark"] .welcome-row h1,
html[data-theme="dark"] .board-heading h2,
html[data-theme="dark"] .task-card h4,
html[data-theme="dark"] .kanban-column h3 { color: #f7f9fd; }
html[data-theme="dark"] .welcome-row p,
html[data-theme="dark"] .board-heading p,
html[data-theme="dark"] .address,
html[data-theme="dark"] .task-description,
html[data-theme="dark"] .task-meta { color: #9eacbf; }
html[data-theme="dark"] .stat-card { border-color: #33445a; background: linear-gradient(145deg,#172232,#141e2c); box-shadow: var(--pgo-shadow-sm); }
html[data-theme="dark"] .stat-card:hover { border-color: #53657d; box-shadow: 0 18px 38px rgba(0,0,0,.26); }
html[data-theme="dark"] .stat-card small,
html[data-theme="dark"] .stat-card em { color: #9ba9bc; }
html[data-theme="dark"] .board-section { border-color: #2b3a4e; background: #111a27; box-shadow: 0 22px 55px rgba(0,0,0,.2); }
html[data-theme="dark"] .board-heading { border-color: #2b3a4e; background: #172231; }
html[data-theme="dark"] .kanban-board { background: #101925; }
html[data-theme="dark"] .kanban-column { border-color: #26364a; }
html[data-theme="dark"] .kanban-column header b { color: #c4cede; background: #202d3e; }
html[data-theme="dark"] .task-card { border-color: #35465d; background: #182332; box-shadow: 0 8px 20px rgba(0,0,0,.16); }
html[data-theme="dark"] .task-card:hover { border-color: #655edf; background: #1b2738; box-shadow: 0 16px 30px rgba(0,0,0,.27); }
html[data-theme="dark"] .task-meta,
html[data-theme="dark"] .task-card-bottom { border-color: #2c3b4e; }
html[data-theme="dark"] .task-number { color: #8595ab; }
html[data-theme="dark"] .status-badge.pending { color: #ffc080; background: #4a301e; }
html[data-theme="dark"] .status-badge.completed { color: #7de0ac; background: #173d2c; }
html[data-theme="dark"] .status-badge.canceled { color: #ff9eaa; background: #48232b; }
html[data-theme="dark"] .priority.normal { color: #a7b2c2; }
html[data-theme="dark"] .priority.important { color: #ffb46f; }
html[data-theme="dark"] .priority.urgent { color: #ff8494; }
html[data-theme="dark"] .task-facts > span { border: 1px solid #304158; background: #202c3c; }
html[data-theme="dark"] .task-facts .task-fact-siga { border-color: #36557d; color: #a9ccff; background: #1d3049; }
html[data-theme="dark"] .task-facts .task-fact-alert { border-color: #653846; color: #ffadb7; background: #3b222a; }
html[data-theme="dark"] .task-card .priority { background: #202c3c; }
html[data-theme="dark"] .task-card .priority.urgent { color: #ff9eaa; background: #43252d; }
html[data-theme="dark"] .task-card .priority.important { color: #ffc083; background: #47301f; }
html[data-theme="dark"] .filter-tabs,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea { border-color: #34445a; color: #eaf0f8; background: #111a27; }
html[data-theme="dark"] .filter-tabs button { color: #9eacc0; }
html[data-theme="dark"] .filter-tabs button.active { color: #e5e1ff; background: #34315f; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
html[data-theme="dark"] .primary-button { background: linear-gradient(135deg,#695ddc,#8174ed); box-shadow: 0 12px 28px rgba(75,63,190,.28); }
html[data-theme="dark"] .welcome-module-switch button { color: #9ba9bd; }
html[data-theme="dark"] .welcome-module-switch button.active { color: #8ecaff; }
html[data-theme="dark"] .column-empty { color: #7f8ea3; }

/* Mobile technician portal: same identity, orange remains a functional accent. */
.tech-shell { background: var(--pgo-page); }
.tech-header, .tech-shell > .tech-footer { background: #202536; }
.tech-brand i { background: var(--pgo-primary); }
.tech-brand small { color: #cbc7ff; }
.tech-new { background: linear-gradient(135deg, var(--pgo-primary), #756be0); box-shadow: 0 15px 30px rgba(91, 80, 200, .24); }
.tech-primary { border: 0; }
.tech-welcome small, .tech-form-header small, .photo-box b { color: var(--pgo-primary); }
.tech-card, .tech-status, .tech-summary, .photo-box { border-radius: var(--pgo-radius); }
.tech-login input:focus, .tech-form input:focus, .tech-form select:focus, .tech-form textarea:focus {
  border-color: var(--pgo-primary); box-shadow: var(--pgo-focus);
}

/* Monitoring intentionally keeps dark mode, but shares hue, spacing and radii. */
.monitor-page:not(.light) {
  color-scheme: dark;
  --bg: #101218;
  --card: #1d2029;
  --line: #343947;
  --ink: #f5f6fa;
  --muted: #a6aab8;
  --violet: #8d7df0;
  color: var(--ink);
  background: var(--bg);
}
.monitor-page:not(.light) .monitor-shell { --pgo-line: #343947; }
.monitor-head { padding-block: 16px; }
.monitor-logo { background: var(--pgo-primary); border-radius: 11px; }
.monitor-column { border-radius: var(--pgo-radius); }
.m-task { border-radius: 11px; }
.sound-gate button { background: var(--pgo-primary); border-radius: var(--pgo-radius-sm); }

/* Update log and public/install surfaces. */
.updates-page .hero { background: linear-gradient(135deg, #202536 0%, #353166 58%, var(--pgo-primary) 100%); }
.updates-page .release.current { border-color: #aaa4eb; box-shadow: 0 14px 40px rgba(91, 80, 200, .12); }
.updates-page .release::before { background: var(--pgo-primary); box-shadow: 0 0 0 2px var(--pgo-primary); }
.updates-page .handoff { background: #202536; }

@media (max-width: 720px) {
  :root { --pgo-radius-lg: 17px; }
  .topbar { padding-inline: 14px; }
  .dashboard { padding-inline: 14px; }
  .dashboard { padding-top: 24px; }
  .welcome-row { align-items: stretch; }
  .welcome-row h1 { font-size: 31px; }
  .new-task-button { width: 100%; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 9px; margin-block: 20px 16px; }
  .stat-card { min-height: 91px; grid-template-columns: 38px 1fr; padding: 12px; }
  .stat-card .stat-icon { width: 38px; height: 38px; }
  .stat-card > b, .stat-card em { display: none; }
  .board-heading { padding: 16px; }
  .board-tools { align-items: stretch; }
  .search-box { min-width: 0; }
  .dialog-backdrop { align-items: end; padding: 0; }
  .dialog, .dialog.wide { width: 100%; max-height: calc(100vh - 18px); border-radius: 18px 18px 0 0; }
  .dialog > header { padding: 17px 16px 14px; }
  .dialog-form { padding: 18px 16px 20px; }
  .dialog-form footer { margin: 4px -16px -20px; padding: 12px 16px; }
  .dialog-form footer > * { flex: 1; }
  .app-menu { width: min(376px, calc(100vw - 10px)); }
  .postit-front-page { grid-template-rows:auto minmax(660px,calc(100vh - 190px)); }
  .postit-front-page h1 { font-size: 31px; }
  .postit-front-frame { border-radius: 13px; }
  .admin-workspace-main { padding: 0; }
  .tech-content { padding-inline: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* En campo is a dispatch marker, independent of Pending/Completed. */
.task-status-stack { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.in-field-badge { display:inline-block; color:#166534; background:#d1f0da; padding:4px 7px; border-radius:6px; font-size:10px; font-weight:800; letter-spacing:.04em; }
.in-field-check { display:flex; align-items:center; gap:8px; margin:12px 0 2px; color:#245b37; font-size:14px; font-weight:650; cursor:pointer; }
.in-field-check input { width:18px; height:18px; margin:0; accent-color:#279657; cursor:pointer; }
.in-field-check input:disabled { cursor:wait; }
.task-card.is-in-field, .task-card.is-in-field:hover, .task-list-item.is-in-field, .task-list-item.is-in-field:hover { background:#e7f6e9; border-color:#a5d6b1; border-left-color:#35a262; }
.task-card.is-in-field::before { background:#35a262; }
.task-list-item>.in-field-check { margin:0; padding:8px 16px 12px; }
.task-list-item.is-in-field>button { background:transparent; }
html[data-theme="dark"] .task-card.is-in-field, html[data-theme="dark"] .task-card.is-in-field:hover, html[data-theme="dark"] .task-list-item.is-in-field { background:#193c2b; border-color:#3d8b5d; }
html[data-theme="dark"] .in-field-check { color:#b2e7c0; }
html[data-theme="dark"] .in-field-badge { color:#c7f6d4; background:#25553a; }


/* Source: assets/portal-unified.css */
/* PGO|SN unified portal layer */
:root{--portal-content:1320px;--portal-space:clamp(18px,3.1vw,42px);--portal-radius:16px;--portal-radius-sm:11px;--portal-control:42px;--portal-shadow:0 16px 45px rgba(24,31,51,.06);--portal-shadow-hover:0 18px 42px rgba(24,31,51,.11)}
.dashboard{width:min(var(--portal-content),100%);padding:34px var(--portal-space) 64px}.welcome-row,.installation-front-hero,.postit-front-page>header{min-height:112px;align-items:center}.welcome-row h1,.installation-front-hero h1,.postit-front-page h1{margin:10px 0 6px;font-size:clamp(34px,3.2vw,43px);line-height:1.04;letter-spacing:-.045em}.welcome-row p,.installation-front-hero p,.postit-front-page p{font-size:12px;line-height:1.5}.welcome-module-switch{min-height:27px;align-items:center}.welcome-module-switch button{font-size:8px;font-weight:900;letter-spacing:.1em}.primary-button,.ghost-button,.danger-button,.new-task-button{min-height:var(--portal-control);border-radius:var(--portal-radius-sm);font-weight:850}.primary-button,.new-task-button{box-shadow:0 9px 22px rgba(91,80,200,.18)}.primary-button:hover,.new-task-button:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(91,80,200,.24)}
.stats-grid,.installation-front-stats{gap:12px;margin:24px 0 20px}.stat-card,.installation-front-stats button{min-height:105px;border-radius:14px;padding:16px;box-shadow:var(--portal-shadow)}.stat-card:hover,.installation-front-stats button:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow-hover)}.stat-card strong,.installation-front-stats strong{font-size:27px}.board-section,.installation-front-board,.postit-front-frame{border-radius:var(--portal-radius);box-shadow:var(--portal-shadow)}.board-heading,.installation-front-board>header{padding:20px}.search-box,.filter-tabs,.installation-front-board input,.installation-front-board select{min-height:40px;border-radius:9px}
.installation-front-page{gap:0;padding:0 0 32px}.installation-front-hero{display:flex}.portal-section-kicker{display:block;margin-top:9px;color:var(--violet);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.installation-front-stats{margin-top:24px}.installation-front-stats button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px}.installation-front-stats button span{grid-column:1;font-size:8px}.installation-front-stats button strong{grid-column:1;grid-row:2}.installation-front-stats button small{grid-column:2;grid-row:1/3;align-self:center;font-size:9px}.installation-front-board>header{align-items:center}.installation-front-board form{grid-template-columns:minmax(220px,1.25fr) repeat(3,minmax(135px,.72fr)) auto}.installation-front-list>button{min-height:74px;transition:background .16s,padding-left .16s}.installation-front-list>button:hover{padding-left:28px}
.postit-front-page{grid-template-rows:112px minmax(620px,calc(100vh - 228px));gap:20px;min-height:calc(100vh - 150px)}.postit-front-page>header{display:flex}.postit-front-frame{display:block;min-height:620px;overflow:hidden}
.admin-workspace{grid-template-columns:250px minmax(0,1fr)}.admin-workspace-main{padding:16px}.admin-workspace .dialog,.admin-workspace .dialog.wide{min-width:0;min-height:calc(100vh - 32px);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow)}.admin-workspace .dialog>header{top:-16px;min-height:104px;padding:22px 24px}.admin-workspace .dialog>header h2{margin-top:5px;font-size:27px}.admin-workspace .dialog>header .eyebrow{font-size:8px;letter-spacing:.1em}.admin-home-header,.office-home-header{min-height:164px;padding:30px 34px!important}.admin-home-header h2{font-size:34px}.admin-welcome,.office-welcome{margin:24px 30px 0;border-radius:14px}.admin-home-overview{padding:24px 30px 12px}.admin-home-guide{margin:14px 30px 30px}.office-home-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px 30px 30px}.office-home-menu .admin-menu-card{min-height:118px;border-radius:14px;box-shadow:var(--portal-shadow)}
.office-content>header:not(.office-home-header),.admin-content>header:not(.admin-home-header){min-height:104px;align-items:center}.office-content>header:not(.office-home-header)>div:first-child,.admin-content>header:not(.admin-home-header)>div:first-child{display:grid;align-content:center;gap:2px}.office-content>header .close-button,.admin-content>header .close-button{flex:0 0 36px}.devices-heading{gap:14px;padding:18px 22px}.devices-heading>div:first-child{min-width:190px}.devices-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.devices-heading-actions button{white-space:nowrap}.device-stats{gap:8px;padding:0 22px 15px}.device-stats article{min-width:0;padding:12px}.device-filters{grid-template-columns:minmax(165px,1fr) 145px minmax(175px,1fr) auto;padding:13px 22px}.device-box-list{padding:15px 22px 24px}.device-box-card{grid-template-columns:92px minmax(150px,1fr) 68px 102px 82px minmax(130px,1fr) 16px}
.device-stats article,.device-box-card,.equipment-card,.vehicle-card,.stock-card,.remito-card,.petty-list article,.overtime-card{border-radius:var(--portal-radius-sm);box-shadow:0 6px 20px rgba(25,31,50,.035)}.device-box-card:hover,.equipment-card:hover,.vehicle-card:hover{transform:translateY(-1px);box-shadow:var(--portal-shadow-hover)}.dialog input,.dialog select,.dialog textarea{border-radius:9px}.dialog table th{height:40px}.dialog table tbody tr{transition:background .15s}.device-empty,.empty-state,.report-empty{border-radius:14px}
html[data-theme="dark"]{--portal-shadow:0 16px 45px rgba(0,0,0,.2);--portal-shadow-hover:0 20px 48px rgba(0,0,0,.34)}html[data-theme="dark"] .stat-card,html[data-theme="dark"] .installation-front-stats button,html[data-theme="dark"] .installation-front-board,html[data-theme="dark"] .board-section{background:#151f2e;border-color:#2b3a4e}html[data-theme="dark"] .installation-front-board input,html[data-theme="dark"] .installation-front-board select{background:#111a27;border-color:#2b3a4e;color:#f3f6fb}html[data-theme="dark"] .installation-front-list>button:hover{background:#1b2838}html[data-theme="dark"] .admin-workspace .dialog,html[data-theme="dark"] .office-workspace .dialog{background:#151f2e;border-color:#2b3a4e}html[data-theme="dark"] .admin-workspace .dialog>header{background:rgba(21,31,46,.96);border-color:#2b3a4e}html[data-theme="dark"] .device-stats article,html[data-theme="dark"] .device-box-card{background:#182433;border-color:#2b3a4e}html[data-theme="dark"] .device-filters,html[data-theme="dark"] .devices-heading{background:#151f2e;border-color:#2b3a4e}
@media(max-width:1180px){.dashboard{padding-inline:24px}.admin-workspace{grid-template-columns:230px minmax(0,1fr)}.admin-workspace-main{padding:12px}.admin-workspace .dialog,.admin-workspace .dialog.wide{min-height:calc(100vh - 24px)}.devices-heading{align-items:flex-start;flex-direction:column}.devices-heading-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.devices-heading-actions button{width:100%}.device-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.device-filters{grid-template-columns:1fr 1fr}.device-filters .device-search{min-width:0}.device-box-card{grid-template-columns:90px minmax(145px,1fr) 62px 82px 16px}.device-box-card .device-box-accessories,.device-box-card .device-box-date{display:none}.installation-front-board form{grid-template-columns:1fr 1fr}.installation-front-board form input{grid-column:1/-1}}
@media(max-width:760px){:root{--portal-space:14px}.dashboard{padding:18px 14px 42px}.welcome-row,.installation-front-hero,.postit-front-page>header{min-height:auto;align-items:flex-start}.welcome-row h1,.installation-front-hero h1,.postit-front-page h1{font-size:32px}.welcome-row{gap:16px}.stats-grid,.installation-front-stats{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.installation-front-stats button{display:grid;grid-template-columns:1fr;min-height:94px}.installation-front-stats button small{grid-column:1;grid-row:3}.installation-front-board form{grid-template-columns:1fr}.installation-front-board form input{grid-column:auto}.postit-front-page{grid-template-rows:auto minmax(600px,calc(100vh - 190px));gap:13px}.admin-workspace-main{padding:0}.admin-workspace .dialog,.admin-workspace .dialog.wide{border-radius:0}.admin-home-header,.office-home-header{padding:24px 18px!important}.admin-home-title>.brand-mark{display:none}.admin-welcome,.office-welcome{margin:16px 14px 0}.admin-home-overview{grid-template-columns:1fr;padding:14px}.admin-home-guide{margin:0 14px 20px}.office-home-menu{grid-template-columns:1fr;padding:14px}.devices-heading-actions{grid-template-columns:1fr}.device-stats{grid-template-columns:1fr 1fr;padding-inline:14px}.device-filters{grid-template-columns:1fr;padding-inline:14px}.device-box-list{padding-inline:14px}.device-box-card{grid-template-columns:1fr auto;gap:6px 12px}.device-box-card .device-box-article{grid-column:1}.device-box-card .device-box-count{grid-column:2;grid-row:1/3}.device-box-card .device-box-state{grid-column:1;width:max-content}.device-box-card>b{grid-column:2;grid-row:3}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.stat-card,.installation-front-stats button,.device-box-card{transition:none!important}}

/* Profile photos: initials remain as an automatic fallback. */
.profile-avatar{position:relative;isolation:isolate;overflow:hidden}.profile-avatar .avatar-fallback{position:absolute;z-index:0;inset:0;display:grid;place-items:center}.profile-avatar>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.presence-avatar.profile-avatar{overflow:visible}.presence-avatar.profile-avatar>img{overflow:hidden}.presence-avatar.profile-avatar>i{z-index:3}.profile-photo-settings{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 24px 0;border:1px solid var(--line);border-radius:15px;padding:18px 20px;background:var(--surface)}.profile-photo-preview{display:flex;align-items:center;gap:15px;min-width:0}.profile-photo-avatar{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:22px;color:#fff;background:linear-gradient(145deg,#8879e8,#5b50c8);font-size:25px;font-weight:900}.profile-photo-preview>span{min-width:0}.profile-photo-preview h3{margin:0 0 5px;font-size:16px}.profile-photo-preview p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.profile-photo-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.profile-photo-actions label{display:inline-flex;align-items:center;justify-content:center;padding:0 15px;cursor:pointer}.profile-photo-actions small{flex-basis:100%;color:var(--muted);font-size:8px;text-align:right}.profile-photo-locked{padding:7px 10px;border-radius:99px;color:var(--muted);background:var(--page);font-size:8px;font-weight:850}.user-row-avatar.profile-avatar{overflow:hidden}.task-meta .mini-avatar.profile-avatar{display:inline-grid;flex:0 0 20px}.app-menu-user>.profile-avatar{flex:0 0 34px}html[data-theme="dark"] .profile-photo-settings{background:#182433;border-color:#2b3a4e}html[data-theme="dark"] .profile-photo-locked{background:#111a27}@media(max-width:620px){.profile-photo-settings{align-items:stretch;flex-direction:column;margin:14px}.profile-photo-actions{justify-content:flex-start}.profile-photo-actions small{text-align:left}}

/* Independent system health control room. */
.system-health-shell{height:calc(100vh - 28px);min-height:680px;margin:-1px;border-radius:18px;overflow:hidden;background:#07111f}.system-health-shell iframe{display:block;width:100%;height:100%;border:0}.admin-workspace-main:has(.system-health-shell){padding:14px}.admin-content:has(.system-health-shell){max-width:none!important;padding:0!important;overflow:hidden!important;background:#07111f!important}
.pon-survey-shell{height:calc(100vh - 28px);min-height:680px;margin:-1px;overflow:hidden;background:#f4f8fa}.pon-survey-shell iframe{display:block;width:100%;height:100%;border:0}.admin-workspace-main:has(.pon-survey-shell){padding:14px}.admin-content:has(.pon-survey-shell){max-width:none!important;padding:0!important;overflow:hidden!important}

/* Mobile workspaces must stack: the late unified layer owns the final grid. */
@media(max-width:760px){html,body{max-width:100%;overflow-x:hidden}.admin-workspace,.admin-workspace.office-workspace{width:100%;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)}.admin-workspace-sidebar{width:100%;min-width:0;max-width:none}.admin-workspace-main{width:100%;min-width:0;overflow-x:hidden}.admin-workspace .dialog,.admin-workspace .dialog.wide{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.system-health-shell,.pon-survey-shell{width:100%;height:calc(100dvh - 124px);min-height:0;margin:0;border-radius:0}.admin-workspace-main:has(.system-health-shell),.admin-workspace-main:has(.pon-survey-shell){padding:0}.admin-content:has(.system-health-shell),.admin-content:has(.pon-survey-shell){height:calc(100dvh - 124px);min-height:0!important}}


/* Source: global-search/style.css */
.command-overlay{position:fixed;z-index:100000;inset:0;background:#07101dcc;backdrop-filter:blur(12px);display:flex;align-items:flex-start;justify-content:center;padding:11vh 18px}.command-palette{width:min(720px,100%);max-height:76vh;display:grid;grid-template-rows:auto minmax(180px,1fr) auto;overflow:hidden;border:1px solid #cdd9e8;border-radius:22px;background:#fff;box-shadow:0 40px 100px #02071388;color:#172033}.command-palette>header{height:70px;display:flex;align-items:center;gap:13px;padding:0 18px;border-bottom:1px solid #e2e8f0}.command-palette input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:700 18px/1.2 Inter,system-ui;color:inherit}.command-palette input::placeholder{color:#8290a3}.command-palette kbd{padding:5px 7px;border:1px solid #d5deea;border-radius:7px;background:#f5f7fb;color:#64748b;font:800 9px Inter}.command-palette header button{border:0;background:transparent;color:#7b8799;font:900 9px Inter;cursor:pointer}.command-palette>main{overflow:auto;padding:10px}.command-welcome,.command-loading{min-height:250px;display:grid;place-content:center;justify-items:center;text-align:center;color:#758397}.command-welcome i{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#eeecff;color:#6254d9;font-style:normal;font-size:22px}.command-welcome strong{color:#21293a;font-size:16px;margin:12px 0 4px}.command-welcome span,.command-loading span{font-size:10px}.command-loading i{width:28px;height:28px;border:3px solid #e5e9ef;border-top-color:#6254d9;border-radius:50%;animation:command-spin .7s linear infinite}@keyframes command-spin{to{transform:rotate(360deg)}}.command-group h3{display:flex;justify-content:space-between;margin:10px 10px 5px;font:900 8px Inter;letter-spacing:.12em;color:#8b97a8}.command-group h3 span{padding:2px 6px;border-radius:99px;background:#edf1f6}.command-group button{width:100%;display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:10px;border:0;border-radius:11px;background:transparent;padding:9px 10px;text-align:left;color:inherit;cursor:pointer}.command-group button.active{background:#eeecff}.command-group button>i{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#f1f4f8;color:#5f6e82;font-style:normal;font-size:10px;font-weight:900}.command-group button.active>i{background:#6455dc;color:#fff}.command-group button>span{display:grid;gap:3px}.command-group strong{font-size:11px}.command-group small{font-size:9px;color:#7d899a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-group button>b{color:#6557d7}.command-palette>footer{height:44px;display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:0 15px;border-top:1px solid #e4e9f0;background:#fafbfc;color:#7e8a9a;font-size:8px}.command-palette>footer span{display:flex;align-items:center;gap:4px}html[data-theme=dark] .command-palette{background:#111c2a;border-color:#344257;color:#e9f0fa}html[data-theme=dark] .command-palette>header,html[data-theme=dark] .command-palette>footer{border-color:#29384b;background:#111c2a}html[data-theme=dark] .command-palette input{color:#edf4fc}html[data-theme=dark] .command-palette kbd{border-color:#37475b;background:#172536;color:#a8b6c7}html[data-theme=dark] .command-welcome strong{color:#edf4fc}html[data-theme=dark] .command-welcome i,html[data-theme=dark] .command-group button.active{background:#28264d}html[data-theme=dark] .command-group button>i{background:#1a2a3b;color:#a9b9ca}html[data-theme=dark] .command-group h3 span{background:#1b2a3b}@media(max-width:600px){.command-overlay{padding:12px;align-items:stretch}.command-palette{max-height:none;height:100%;border-radius:18px}.command-palette>footer{display:none}}


/* Source: assets/office-groups.css */
.office-group-list{padding:0 24px 24px}.office-group{margin:18px 0 26px}.office-group>header{display:block;padding:0 0 10px!important;border:0!important;background:transparent!important}.office-group>header h3{margin:0 0 4px;font-size:17px}.office-group>header p{margin:0;opacity:.75;font-size:13px}.office-group .office-home-menu{padding:0!important}.office-workspace-sidebar nav section>small{white-space:normal}@media(max-width:600px){.office-group-list{padding:0 14px 20px}}
