.apiary-workbench{flex-direction:column;gap:24px;padding:24px;display:flex}.filter-chip-group{flex-wrap:wrap;gap:4px;display:flex}.filter-chip{border:1px solid var(--color-border,#ccc);background:var(--color-surface,#fff);cursor:pointer;color:inherit;border-radius:16px;padding:4px 10px;font-size:13px;transition:background-color .15s,color .15s}.filter-chip:hover:not(.filter-chip--active){background:var(--color-surface-alt,#f0f0f0)}.filter-chip--active{background:var(--color-primary,#2c5f2d);color:#fff;border-color:var(--color-primary,#2c5f2d)}.filter-field--grow{flex:1;min-width:200px}.aw-empty-filtered{text-align:center;color:var(--color-muted,#888);background:var(--color-surface-alt,#f8f8f8);border:1px dashed var(--color-border,#ddd);border-radius:8px;margin:8px 0;padding:24px;font-size:14px}.aw-row--cloud{justify-content:center;display:flex}.cloud-backend-banner{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);border-bottom:2px dashed #fff6;border-radius:16px;align-items:center;gap:20px;width:100%;max-width:720px;height:80px;padding:0 24px;display:flex;box-shadow:0 4px 12px #3b82f633}.cloud-backend-banner--empty{background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);border-bottom-color:#fff3}.cb-server-icon{color:#ffffffd9;background:linear-gradient(currentColor,currentColor) 0 4px/100% 3px no-repeat,linear-gradient(currentColor,currentColor) 0 12px/100% 3px no-repeat,linear-gradient(currentColor,currentColor) 0 20px/100% 3px no-repeat,linear-gradient(currentColor,currentColor) 0 28px/100% 3px no-repeat;flex-shrink:0;width:36px;height:32px;position:relative}.cb-server-led{border-radius:50%;width:4px;height:4px;position:absolute;top:7px}.cb-server-led--green{background:#4ade80;left:6px;box-shadow:0 0 4px #4ade80}.cb-server-led--amber{background:#facc15;left:14px}.cb-label{flex-shrink:0;font-size:18px;font-weight:600}.cb-divider{background:#ffffff4d;flex-shrink:0;width:1px;height:40px}.cb-stat{align-items:center;gap:6px;display:flex}.cb-stat-label{opacity:.75;white-space:nowrap;font-size:12px}.cb-stat-value{letter-spacing:.5px;white-space:nowrap;font-size:20px;font-weight:700}.cb-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.cb-dot--ok{background:#4ade80;box-shadow:0 0 6px #4ade80}.cb-dot--warn{background:#facc15}.cb-dot--err{background:#ef4444}.cb-dot--empty{background:#ffffff80}.aw-row--topo{flex-wrap:wrap;justify-content:center;gap:24px;padding:16px 0;display:flex}.aw-tower{flex-direction:column;align-items:center;gap:0;display:flex}.aw-tower-connector{background-image:linear-gradient(#9ca3af 0 4px,#0000 4px 8px);background-repeat:repeat-y;background-size:1px 8px;width:1px;height:20px;margin:4px 0}.aw-c3-group{background:#fafafa;border:1px dashed #d1d5db;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-width:200px;padding:6px 12px;display:flex}.aw-c3-group-label{color:#6b7280;text-align:center;width:100%;margin-right:4px;font-size:.75rem}.aw-tower--orphan .mini-s3-card--orphan{background:#fefce8;border-style:dashed;border-color:#facc15}.aw-c3-group--orphan{background:#fefce8;border-color:#facc15}.mini-s3-card{background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;min-width:200px;padding:8px 14px;display:flex;box-shadow:0 1px 2px #0000000a}.mini-s3-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mini-s3-dot--ok{background:#4ade80}.mini-s3-dot--warn{background:#facc15}.mini-s3-dot--err{background:#ef4444}.mini-s3-dot--offline{background:#d1d5db}.mini-s3-cloud{flex-shrink:0;font-size:14px;line-height:1}.mini-s3-cloud--ok{color:#4ade80}.mini-s3-cloud--offline{color:#d1d5db}.mini-s3-id{font-size:14px;font-weight:600}.mini-s3-stats{color:#6b7280;font-size:.875rem}.mini-s3-heartbeat{color:#9ca3af;margin-left:auto;font-size:.75rem}.wifi-bars{align-items:flex-end;gap:2px;height:18px;display:inline-flex}.wifi-bar{background:#d1d5db;border-radius:1px;width:3px}.wifi-bar:first-child{height:4px}.wifi-bar:nth-child(2){height:8px}.wifi-bar:nth-child(3){height:12px}.wifi-bar:nth-child(4){height:16px}.wifi-bar--on{background:#4ade80}.wifi-bars--offline{color:#d1d5db;font-size:1.25rem}.aw-row--hive{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.aw-row--orphan{opacity:.85;justify-content:center;display:flex}.aw-row--empty{opacity:.85}.aw-row-title{color:#6b7280;align-items:center;gap:8px;margin:0 0 12px;font-size:1rem;display:flex}.aw-row-count{background:#f3f4f6;border-radius:999px;padding:2px 8px;font-size:.75rem}.aw-row-empty-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.aw-row--apiary{flex-wrap:wrap;justify-content:center;gap:16px;padding:16px 0;display:flex}.aw-apiary-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;flex:0 380px;gap:12px;padding:16px;display:flex;box-shadow:0 1px 3px #0000000a}.aw-apiary-card--ok{border-color:#4ade80}.aw-apiary-card--warn{border-color:#facc15}.aw-apiary-card--err{border-color:#ef4444}.aw-apiary-card--empty{opacity:.7;border-color:#d1d5db}.aw-apiary-header{border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding-bottom:8px;display:flex}.aw-apiary-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.aw-apiary-dot--ok{background:#4ade80;box-shadow:0 0 4px #4ade80}.aw-apiary-dot--warn{background:#facc15}.aw-apiary-dot--err{background:#ef4444}.aw-apiary-dot--empty{background:#d1d5db}.aw-apiary-id{color:#6b7280;flex-shrink:0;font-family:ui-monospace,monospace;font-size:.75rem}.aw-apiary-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1rem;font-weight:600;overflow:hidden}.aw-apiary-stats{color:#6b7280;flex-shrink:0;font-size:.875rem}.aw-apiary-towers{flex-direction:column;gap:8px;display:flex}.aw-apiary-empty{text-align:center;color:#9ca3af;margin:0;padding:16px 0;font-size:.875rem}.aw-tower-s3-row{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.aw-tower--shared{background:#faf5ff;border:1px dashed #a855f7;border-radius:8px;padding:6px}.aw-s3-shared-badge{color:#7c3aed;white-space:nowrap;background:#f3e8ff;border:1px solid #a855f7;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.75rem}@media (width<=768px){.cloud-backend-banner{flex-wrap:wrap;gap:12px;height:auto;padding:12px 16px}.cb-label{width:100%}.cb-divider{display:none}.cb-stat{flex:calc(50% - 12px)}.aw-row--topo{flex-direction:column;align-items:stretch}.aw-row--apiary{flex-direction:column}.aw-apiary-card{flex:100%}.aw-c3-group{justify-content:flex-start}.aw-row--hive,.aw-row-empty-grid{grid-template-columns:1fr}}.post-create-cta-banner{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;align-items:center;gap:12px;margin:16px 0;padding:12px 16px;font-weight:500;display:flex}.post-create-cta-banner .btn{white-space:nowrap}@media (width<=640px){.post-create-cta-banner{flex-wrap:wrap}}:root{--color-bg:#f5f5f7;--color-surface:#fff;--color-border:#e0e0e0;--color-text:#1c1c1e;--color-text-secondary:#6e6e73;--color-primary:#1976d2;--color-primary-hover:#1565c0;--color-error:#d32f2f;--color-success:#2e7d32;--color-warn:#f59e0b;--radius:6px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-hover:0 2px 6px #0000001a;color:var(--color-text);background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3{margin:0 0 12px;font-weight:600}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.app-header h1{margin:0;font-size:18px}.app-header .user-info{color:var(--color-text-secondary);margin-right:12px;font-size:13px}.app-main{max-width:1200px;margin:0 auto;padding:24px}.loading{min-height:100vh;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.error-banner{color:var(--color-error);border-radius:var(--radius);background:#ffebee;margin-bottom:16px;padding:8px 12px}.warning-banner{color:#8d6e00;border-radius:var(--radius);background:#fff8e1;border-left:3px solid #ffb300;margin-bottom:16px;padding:8px 12px;font-size:13px}.login-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);box-shadow:var(--shadow);border-radius:8px;width:min(360px,100vw - 32px);margin:0 auto;padding:32px}.login-card .btn-primary{width:100%}.login-card h1{margin-bottom:4px;font-size:20px}.login-card .subtitle{color:var(--color-text-secondary);margin-bottom:24px;font-size:13px}.build-sha{color:var(--color-text-secondary);opacity:.5;letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:11px;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.form-field{margin-bottom:16px}.form-field label{color:var(--color-text-secondary);margin-bottom:4px;font-size:13px;display:block}.form-field input{border:1px solid var(--color-border);border-radius:var(--radius);outline:none;width:100%;padding:8px 12px;transition:border-color .15s}.form-field input:focus{border-color:var(--color-primary)}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius);border:none;width:auto;padding:10px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius);background:0 0;padding:6px 12px;transition:background .15s}.btn-secondary:hover{background:var(--color-bg)}.apiary-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.apiary-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;color:inherit;padding:20px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}.apiary-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.apiary-card .apiary-code{color:var(--color-text-secondary);font-family:ui-monospace,monospace;font-size:12px}.apiary-card .apiary-name{margin:4px 0 12px;font-size:16px;font-weight:600}.apiary-card .apiary-meta{color:var(--color-text-secondary);font-size:13px}.apiary-card .apiary-stats{border-top:1px solid var(--color-border);gap:16px;margin-top:12px;padding-top:12px;display:flex}.apiary-card .stat-value{font-size:18px;font-weight:600}.apiary-card .stat-label{color:var(--color-text-secondary);font-size:11px}.detail-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.back-link,.detail-header .back-link{color:var(--color-primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:inline-block}.detail-meta{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;padding:16px 20px;display:grid}.detail-meta .meta-item{font-size:13px}.detail-meta .meta-label{color:var(--color-text-secondary);font-size:11px}.detail-meta .meta-value{margin-top:2px;font-weight:500}.meta-edit-btn{cursor:pointer;color:var(--color-text-secondary);vertical-align:middle;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.meta-edit-btn:hover{color:var(--color-primary)}.section{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}.section-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.section-header h2{margin:0;font-size:15px}.section-header .count{color:var(--color-text-secondary);font-size:13px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead th{text-align:left;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:#fafafa;padding:10px 16px;font-size:12px;font-weight:500}.data-table tbody td{border-bottom:1px solid var(--color-border);padding:10px 16px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafafa}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll .data-table{min-width:640px}.data-table .col-archive{font-family:ui-monospace,monospace;font-weight:600}.data-table .col-box{color:var(--color-text-secondary);font-family:ui-monospace,monospace}.badge{color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.badge-empty{color:var(--color-text-secondary);border:1px dashed var(--color-border);background:0 0}.badge-warn{background:var(--color-warn);color:#fff;font-weight:600}.badge-enabled{color:#fff;background:#2e7d32;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.badge-disabled{color:#fff;background:#9e9e9e;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.user-row-disabled{opacity:.55}.timeline{padding:8px 20px 16px}.timeline-item{border-bottom:1px solid var(--color-border);gap:12px;padding:10px 0;display:flex}.timeline-item:last-child{border-bottom:none}.timeline-date{color:var(--color-text-secondary);flex-shrink:0;width:100px;font-family:ui-monospace,monospace;font-size:12px}.timeline-content{flex:1}.timeline-content .timeline-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.timeline-content .timeline-archive{font-family:ui-monospace,monospace;font-weight:600}.timeline-content .timeline-note{color:var(--color-text-secondary);font-size:12px}.colony-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px;display:grid}@media (width<=1100px){.colony-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=800px){.colony-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.colony-grid{grid-template-columns:1fr}}.colony-card{border:1px solid var(--color-border);border-radius:var(--radius);background:#fafafa;padding:8px 10px;transition:box-shadow .15s,transform .15s}.colony-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.colony-card-top{justify-content:space-between;align-items:baseline;gap:4px;margin-bottom:6px;display:flex}.colony-type-group{flex-shrink:0;align-items:center;gap:4px;display:flex}.colony-breed{color:var(--color-text-secondary);font-size:10px}.colony-queen-badge{color:#d4a017;letter-spacing:-2px;font-size:12px;line-height:1}.colony-queen-badge.single{color:#555;opacity:1}.colony-archive{color:var(--color-text);font-family:ui-monospace,monospace;font-size:14px;font-weight:600}.colony-type{border-radius:8px;padding:1px 6px;font-size:10px;font-weight:500}.colony-type.type-M{color:#c62828;background:#fce4ec}.colony-type.type-F{color:#6a1b9a;background:#f3e5f5}.colony-type.type-P{color:#2e7d32;background:#e8f5e9}.colony-card-row{align-items:center;gap:6px;padding:1px 0;font-size:11px;display:flex}.colony-card-row .col-box{font-family:ui-monospace,monospace}.lifecycle-active{color:var(--color-success);font-weight:500}.lifecycle-other{color:var(--color-text-secondary)}.colony-stats{border-top:1px dashed var(--color-border);gap:10px;margin-top:4px;padding:2px 0 1px;font-size:11px;display:flex}.colony-stats>span{align-items:baseline;gap:3px;display:inline-flex}.colony-stats .muted{min-width:1em;font-size:10px}.colony-card-bottom{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:4px;padding-top:4px;font-size:10px;display:flex}.colony-grid-toolbar{border-bottom:1px solid var(--color-border);grid-column:1/-1;align-items:center;gap:8px;margin-bottom:8px;padding:6px 0;font-size:13px;display:flex}.colony-grid-toolbar-label{cursor:pointer;align-items:center;gap:6px;display:flex}.colony-grid-toolbar-count{color:#1565c0;font-weight:600}.colony-card-v2{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;flex-direction:column;gap:6px;min-height:96px;padding:8px 10px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex}.colony-card-v2:hover{box-shadow:var(--shadow-hover);border-color:#90a4ae;transform:translateY(-1px)}.colony-card-v2.is-selected{background:#f0f7ff;border-color:#1565c0}.colony-card-head{align-items:center;gap:6px;min-height:32px;display:flex}.colony-card-checkbox{cursor:pointer;flex-shrink:0;transform:scale(1.2)}.colony-archive-v2{color:var(--color-text);letter-spacing:.5px;flex-shrink:0;font-family:ui-monospace,monospace;font-size:15px;font-weight:700}.colony-card-chips{flex-wrap:nowrap;flex:1;align-items:center;gap:3px;min-width:0;display:flex;overflow:hidden}.colony-breed-chip{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;background:#f5f5f5;border-radius:3px;max-width:80px;padding:1px 5px;font-size:10px;overflow:hidden}.lifecycle-dot{white-space:nowrap;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:500}.lifecycle-dot.active{color:#2e7d32;background:#e8f5e9}.lifecycle-dot.inactive{color:var(--color-text-secondary);background:#f5f5f5}.colony-alert-chip{color:#fff;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.colony-card-score{flex-shrink:0}.colony-card-body{border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border);flex-direction:column;flex:1;gap:3px;padding:6px 0;display:flex}.colony-card-box{align-items:baseline;gap:6px;font-size:12px;display:flex}.colony-card-box .col-box{font-family:ui-monospace,monospace;font-size:13px;font-weight:600}.colony-card-mother{color:#6a1b9a;margin-left:auto;font-size:10px}.colony-card-meta{flex-wrap:wrap;align-items:center;gap:4px;font-size:10px;display:flex}.meta-dot{color:var(--color-text-secondary)}.meta-overdue{color:#d32f2f;font-weight:500}.colony-overdue-chip{color:#fff;white-space:nowrap;background:#d32f2f;border-radius:3px;margin-left:4px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.colony-card-stats{align-items:baseline;gap:10px;margin-top:2px;font-size:11px;display:flex}.colony-card-stats>span{align-items:baseline;gap:3px;display:inline-flex}.colony-card-stats .muted{font-size:10px}.colony-card-stats .stat-value{font-family:ui-monospace,monospace;font-weight:600}.colony-card-health{color:#1565c0;background:#e3f2fd;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:500}.colony-card-empty-cta{align-items:baseline;gap:6px;margin-top:2px;font-size:10px;display:flex}.colony-card-empty-cta .muted{color:var(--color-text-secondary)}.empty-arrow{color:#1565c0;font-weight:500}.colony-card-actions{gap:4px;margin-top:auto;display:flex}.colony-card-actions .btn-action{text-align:center;flex:1;padding:4px 6px;font-size:11px}.btn-action-primary{color:#fff;background:#1565c0;border-color:#1565c0}.btn-action-primary:hover:not(:disabled){background:#0d47a1}.btn-action-ghost{color:#1565c0;background:0 0;border-color:#0000}.btn-action-ghost:hover:not(:disabled){background:#f0f7ff}.btn-action{color:var(--color-text);cursor:pointer;background:#f0f4f8;border:1px solid #cbd5e0;border-radius:4px;padding:4px 10px;font-size:12px;transition:background .15s}.btn-action:hover:not(:disabled){background:#e2e8f0}.btn-action.danger{color:var(--color-error);border-color:var(--color-error)}.btn-action.danger:hover:not(:disabled){background:#ffebee}.modal-backdrop{z-index:7000;background:#0006;position:fixed;inset:0}.modal-root{background:var(--color-surface);z-index:7500;border:none;border-radius:8px;min-width:400px;max-width:500px;max-height:90vh;padding:24px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 10px 40px #0003}.modal-root .modal-form{flex-direction:column;gap:16px;display:flex}.modal-root.modal-wide{max-width:720px}.modal-root .modal-summary{border:1px solid var(--color-border);border-radius:var(--radius);background:#fafafa;flex-direction:column;gap:6px;padding:12px;font-size:13px;display:flex}.modal-root .modal-summary .muted{color:var(--color-text-secondary);font-size:12px}.modal-root .modal-actions{justify-content:flex-end;gap:8px;display:flex}.radio-row{cursor:pointer;align-items:flex-start;gap:8px;padding:8px 0;display:flex}.radio-row>input[type=radio]{flex-shrink:0;margin-top:4px}.radio-body{flex:1;min-width:0}.radio-label{font-weight:500}.radio-label-danger{color:var(--color-error);font-weight:500}.radio-hint{color:var(--color-text-secondary);word-break:break-word;overflow-wrap:anywhere;margin-top:2px;font-size:11px}.muted{color:var(--color-text-secondary);font-size:12px}.mode-tabs{border-radius:var(--radius);background:#f5f5f5;gap:4px;padding:4px;display:flex}.mode-tab{border-radius:calc(var(--radius) - 2px);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;flex:1;padding:6px 12px;font-size:13px}.mode-tab.active{color:var(--color-text);background:#fff;box-shadow:0 1px 2px #0000000f}.mode-tab:disabled{cursor:not-allowed;opacity:.5}.chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:#fff;border-radius:999px;padding:4px 12px;font-size:13px;transition:all .1s}.chip:hover:not(:disabled){border-color:var(--color-primary)}.chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.chip:disabled{cursor:not-allowed;opacity:.5}.audit-log-toolbar{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;margin-bottom:12px;padding:8px 0 16px;display:flex}.verify-result{border-radius:var(--radius);padding:4px 12px;font-size:13px;font-weight:500}.verify-result.ok{color:#2e7d32;background:#e8f5e9}.verify-result.broken{color:#d32f2f;background:#ffebee}.audit-log-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.filter-field{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.filter-field span{font-weight:500}.filter-field input,.filter-field select{border:1px solid var(--color-border);background:#fff;border-radius:4px;padding:4px 8px;font-size:13px}.audit-log-table{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.audit-log-row{border-bottom:1px solid var(--color-border);padding:8px 12px}.audit-log-row:last-child{border-bottom:none}.audit-log-row:hover{background:var(--color-bg)}.audit-log-op-badge{color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.op-INSERT{background:#2e7d32}.op-UPDATE{background:#1976d2}.op-DELETE{background:#d32f2f}.op-HIVE_STATUS_TRANSITION{background:#f59e0b}.op-CHANGE_HIVE{background:#7b1fa2}.json-diff{background:#fafafa;border-radius:4px;margin-top:8px;padding:8px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.6}.json-diff-key{color:var(--color-text);font-weight:600}.json-diff-changed{background:#fff8e1;border-radius:3px;margin:2px 0;padding:2px 6px}.json-diff-added{background:#e8f5e9;border-radius:3px;margin:2px 0;padding:2px 6px}.json-diff-removed{background:#ffebee;border-radius:3px;margin:2px 0;padding:2px 6px;text-decoration:line-through}.brood-high{color:#fff;background:#2e7d32}.brood-mid{color:#fff;background:#ed6c02}.brood-low{color:#fff;background:#d32f2f}.sparkline{vertical-align:middle;width:60px;height:18px;display:block}.sparkline-line{stroke-width:1.5px;fill:none}.sparkline-area{fill-opacity:.15;stroke:none}.sparkline-point{stroke:none}.trend-chart{background:#fafafa;border-radius:6px;flex-direction:column;gap:12px;padding:12px;display:flex}.trend-row{align-items:center;gap:12px;display:flex}.trend-label{color:#666;width:60px;font-size:12px;font-weight:500}.trend-meta{color:#999;font-size:11px}@media (width<=768px){body{font-size:15px}.app-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.app-header h1{font-size:16px}.app-header .user-info{order:99;width:100%;margin-right:0;font-size:12px}.app-header .header-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:6px;display:flex}.app-header .header-actions .btn-secondary{white-space:nowrap;flex-shrink:0;padding:6px 12px;font-size:13px}.app-main{padding:12px}.section{border-radius:4px;margin-bottom:16px}.section-header{padding:10px 14px}.section-header h2{font-size:14px}.modal-root{width:calc(100vw - 24px);min-width:0;max-width:480px;padding:16px}.modal-root.modal-wide{max-width:calc(100vw - 24px)}.modal-root .modal-form>div[style*="display: flex"]{flex-direction:column!important;gap:12px!important}.modal-root .modal-form>div[style*="display: flex"]>.form-field{margin:0!important}.apiary-card{padding:14px}.apiary-card .apiary-stats{gap:10px}.apiary-card .apiary-code{font-size:11px}.apiary-card .apiary-name{font-size:15px}.detail-meta{gap:10px;padding:12px 14px}.detail-meta .meta-value{font-size:13px}.timeline{padding:8px 14px 14px}.timeline-date{width:76px;font-size:11px}.btn-action{padding:6px 12px;font-size:13px}.form-field input,.form-field select,.form-field textarea{padding:10px 12px;font-size:16px}.filter-bar{grid-template-columns:1fr 1fr!important;gap:10px!important}.trend-row{flex-wrap:wrap;gap:4px 8px}.trend-label{flex-shrink:0;width:auto}.trend-chart .sparkline{flex:100%;height:36px;width:100%!important}.trend-meta{width:auto}.data-table{font-size:12px}.data-table thead th,.data-table tbody td{padding:8px 10px}.sparkline{width:100%;height:auto}}@media (width<=480px){.modal-root{width:calc(100vw - 16px);padding:12px}.login-card{width:calc(100vw - 24px);padding:20px}.apiary-grid{gap:10px}.colony-grid{grid-template-columns:1fr!important;padding:8px!important}.colony-card{padding:6px 8px}.colony-stats{gap:6px;font-size:10px}.app-main{padding:8px}.detail-meta{padding:10px 12px}}.timeline-recorder{background:#f5f5f5;border-radius:14px;align-items:center;gap:6px;margin-left:auto;padding:2px 8px 2px 2px;font-size:12px;display:inline-flex}.timeline-recorder-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:inline-flex}.timeline-recorder-name{color:var(--color-text,#333);font-weight:500}.timeline-recorder-role{color:#999;font-size:11px}@media (width<=768px){.timeline-recorder{background:0 0;gap:4px;margin-left:0;padding:0}.timeline-recorder-name,.timeline-recorder-role{display:none}}.box-lookup-form{flex-direction:column;gap:12px;display:flex}.box-lookup-scan{justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 16px;font-size:15px;display:flex}.box-lookup-scan:disabled{opacity:.55;cursor:not-allowed}.box-lookup-divider{color:#999;align-items:center;gap:8px;margin:4px 0;font-size:12px;display:flex}.box-lookup-divider:before,.box-lookup-divider:after{content:"";background:var(--color-border,#e0e0e0);flex:1;height:1px}.box-lookup-divider span{white-space:nowrap}@media (width<=768px){.box-lookup-scan{padding:12px 14px;font-size:14px}}.modal-root.scan-box-dialog{border-radius:var(--radius);background:var(--color-surface);border:none;width:calc(100vw - 32px);max-width:480px;padding:0}.scan-box-modal{flex-direction:column;gap:12px;padding:20px;display:flex}.scan-video-wrap{aspect-ratio:4/3;border-radius:var(--radius);background:#000;width:100%;position:relative;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;display:block}.scan-reticle{aspect-ratio:1;pointer-events:none;border:2px solid #ffffffd9;border-radius:8px;width:70%;max-width:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000059,0 0 12px #1976d299}.scan-status{color:#fff;white-space:nowrap;background:#0009;border-radius:12px;padding:4px 12px;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}@media (width<=768px){.modal-root.scan-box-dialog{box-sizing:border-box;border-radius:0;width:100%;min-width:0;max-width:100%;height:100%;max-height:100%;margin:0;inset:0;overflow:hidden;transform:none}.scan-box-modal{box-sizing:border-box;width:100%;height:100%;padding:16px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:calc(88px + env(safe-area-inset-bottom))}.scan-video-wrap{aspect-ratio:auto;flex:auto;width:100%;min-height:0}.scan-video{object-fit:cover;width:100%;height:100%}.scan-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-reticle{position:relative;top:auto;left:auto;transform:none}}.heatmap-scroll{-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto}.heatmap-grid-wrapper{--weeks:53;display:inline-block}.heatmap-month-row{grid-template-columns:30px repeat(var(--weeks), 12px);color:#666;column-gap:3px;min-width:max-content;height:14px;margin-bottom:4px;font-size:10px;display:grid}.heatmap-month-cell{text-align:left;white-space:nowrap;line-height:14px}.heatmap-weekday-spacer{width:30px}.heatmap-main{min-width:max-content;display:flex}.heatmap-weekday-col{grid-template-rows:repeat(7,12px);row-gap:3px;width:30px;margin-right:6px;display:grid}.heatmap-weekday-label{color:#666;align-items:center;height:12px;font-size:10px;display:flex}.heatmap-cells{gap:3px;display:grid}.heatmap-cell{cursor:pointer;border:1px solid #1b1f230f;border-radius:2px;width:12px;height:12px;padding:0;transition:outline .1s}.heatmap-cell:hover{outline-offset:-1px;outline:1px solid #0006}.heatmap-cell.selected{outline:2px solid var(--color-primary,#1976d2);outline-offset:-1px}.heatmap-cell-empty{background:0 0;width:12px;height:12px}.heatmap-legend{color:#666;align-items:center;margin-top:8px;font-size:11px;display:flex}.heatmap-legend-cell{border:1px solid #1b1f230f;border-radius:2px;width:12px;height:12px;display:inline-block}.audit-day-detail{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius,4px);margin-top:12px;padding:12px}.audit-day-detail-header{align-items:center;margin-bottom:8px;display:flex}.audit-day-detail-row{border-top:1px solid var(--color-border,#f0f0f0);align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;display:flex}.audit-day-detail-row:first-of-type{border-top:none}.audit-day-detail-label{color:#666;flex:0 0 64px;padding-top:4px;font-weight:500}.audit-day-detail-chips,.audit-day-detail-actors{flex-wrap:wrap;gap:6px;display:flex}.audit-day-detail-chip,.audit-day-detail-actor-chip{border:1px solid var(--color-border,#e0e0e0);background:#f5f5f5;border-radius:12px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.audit-day-detail-chip-cnt,.audit-day-detail-actor-cnt{background:var(--color-primary,#1976d2);color:#fff;text-align:center;border-radius:8px;min-width:18px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}@media (width<=768px){.heatmap-month-row{grid-template-columns:24px repeat(var(--weeks), 10px);column-gap:2px;font-size:9px}.heatmap-weekday-spacer{width:24px}.heatmap-weekday-col{grid-template-rows:repeat(7,10px);row-gap:2px;width:24px;margin-right:4px}.heatmap-weekday-label{height:10px;font-size:9px}.heatmap-cells{gap:2px}.heatmap-cell,.heatmap-cell-empty,.heatmap-legend-cell{width:10px;height:10px}.audit-day-detail-row{flex-direction:column;gap:4px}.audit-day-detail-label{flex:none}}.modal-root.quick-actions-sheet{width:480px;max-width:480px;padding:20px}.quick-actions-card{flex-direction:column;gap:12px;display:flex}.quick-actions-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;font-size:14px;font-weight:500}.quick-actions-archive{color:var(--color-primary);font-size:22px;font-weight:600;line-height:1.2}.quick-actions-sub{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.quick-actions-summary{border:1px solid var(--color-border);border-radius:var(--radius);background:#fafafa;flex-direction:column;gap:6px;padding:12px;display:flex}.summary-label{text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.5px;font-size:11px}.summary-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.summary-date{color:var(--color-text);font-size:14px;font-weight:500}.summary-stats{flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.summary-stats .muted{color:var(--color-text-secondary);font-size:11px}.quick-actions-buttons{flex-direction:column;gap:8px;display:flex}.quick-action-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.quick-action-btn:hover:not(:disabled){background:#f5f5f5;border-color:#999}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.quick-action-btn.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.quick-action-btn.primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.quick-action-btn.danger{color:var(--color-error);border-color:var(--color-error)}.quick-action-btn.danger:hover:not(:disabled){background:#ffebee}.badge-count{color:inherit;background:#00000014;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:400;display:inline-block}.quick-action-btn.primary .badge-count{color:#fff;background:#ffffff40}.quick-actions-footer{justify-content:flex-end;padding-top:4px;display:flex}@media (width<=768px){.modal-root.quick-actions-sheet{width:100vw;min-width:0;max-width:100vw;padding:16px 16px calc(88px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;max-height:85vh;margin:0;top:auto;bottom:0;left:0;overflow-y:auto;transform:none}.quick-actions-card{gap:12px}.quick-action-btn{min-height:48px;padding:14px 16px;font-size:15px}}.activity-type-badge{white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.activity-type-badge.type-inspection{color:#1565c0;background:#e3f2fd;border-color:#bbdefb}.activity-type-badge.type-hive_change{color:#e65100;background:#fff3e0;border-color:#ffe0b2}.activity-type-badge.type-lifecycle{color:#ad1457;background:#fce4ec;border-color:#f8bbd0}.activity-type-badge.type-queen_type{color:#6a1b9a;background:#f3e5f5;border-color:#e1bee7}.hive-change-summary{color:var(--color-text);white-space:nowrap;background:#f5f5f5;border-radius:4px;padding:2px 8px;font-size:12px;display:inline-block}.queen-alert{border:1px solid #ef9a9a;border-left:4px solid var(--color-error);border-radius:var(--radius);color:#c62828;background:#ffebee;padding:10px 14px;font-size:13px;line-height:1.5}.queen-alert strong{color:var(--color-error)}.queen-badge{white-space:nowrap;border-radius:10px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}select.queen-input-missing{border-color:var(--color-error);color:var(--color-error);background:#ffebee}.timeline-item.queen-missing{border-left:3px solid var(--color-error);background:#fff5f5;border-radius:4px;padding-left:8px}.timeline-item.queen-missing .timeline-date{color:var(--color-error);font-weight:600}@media (width<=768px){.timeline-item.queen-missing{border-left-width:4px}}.gps-input-row{align-items:stretch;gap:8px;display:flex}.gps-input-row>input{flex:1;min-width:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px}.gps-input-row>input::placeholder{font-family:inherit}.gps-capture-btn{width:auto;margin-left:8px;padding:4px 10px;font-size:12px}.gps-status{color:var(--color-text-secondary);margin-top:6px;font-size:12px}.gps-status-error{color:var(--color-warn,#f59e0b)}.gps-status-bar{border-radius:var(--radius,4px);background:#00000008;align-items:center;gap:6px;min-height:28px;padding:6px 10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;display:flex}.gps-status-loading{color:var(--color-text-secondary)}.gps-status-ok{color:#2e7d32;align-items:center;gap:4px;display:inline-flex}.gps-status-err{color:var(--color-warn,#f59e0b);align-items:center;gap:4px;display:inline-flex}.gps-retry-btn{border:1px solid var(--color-border,#e0e0e0);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:3px;margin-left:4px;padding:2px 8px;font-family:inherit;font-size:11px}.gps-retry-btn:hover:not(:disabled){background:#1976d214}.gps-retry-btn:disabled{opacity:.5;cursor:not-allowed}.form-field-row{align-items:flex-start;gap:12px;display:flex}.form-field-row>.form-field{flex:1;margin-bottom:0}.form-field-hint{color:var(--color-text-secondary);margin-top:4px;font-size:11px;line-height:1.4;display:block}.health-chip-group{flex-wrap:wrap;gap:6px;display:flex}.health-chip{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;min-width:64px;color:var(--color-text-secondary);text-align:center;background:#fff;flex:auto;padding:8px 10px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.health-chip:hover:not(:disabled){background:#0000000a}.health-chip-good.is-active{color:#2e7d32;background:#e8f5e9;border-color:#2e7d32}.health-chip-normal.is-active{color:#558b2f;background:#f1f8e9;border-color:#558b2f}.health-chip-poor.is-active{color:#ef6c00;background:#fff3e0;border-color:#ef6c00}.health-chip-dead.is-active{color:#c62828;background:#ffebee;border-color:#c62828}.meta-gps-empty{color:var(--color-text-secondary);font-style:italic}.meta-gps-inherit{color:var(--color-text-secondary);font-size:12px}@media (width<=768px){.gps-input-row{flex-wrap:wrap}.gps-input-row>input{flex:calc(50% - 4px)}.gps-capture-btn{margin-top:4px;margin-left:0}}.hive-box-label{background:#fff;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.hive-box-label__qr{background:#fff;padding:8px}.hive-box-label__code{letter-spacing:2px;color:#000;font-size:32px;font-weight:700}.hive-box-label__meta{color:#333;text-align:center;font-size:14px}.hive-box-label__token{color:#666;letter-spacing:1px;word-break:break-all;text-align:center;max-width:280px;font-family:monospace;font-size:11px}.hive-box-label__actions{gap:8px;margin-top:8px;display:flex}.iot-device-label{background:#fff;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.iot-device-label__qr{background:#fff;padding:8px}.iot-device-label__header{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:320px;display:flex}.iot-device-label__header h2{color:#000;margin:0;font-size:18px;font-weight:600}.iot-device-label__type-badge{color:#fff;letter-spacing:1px;white-space:nowrap;background:#000;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:500}.iot-device-label__token{color:#000;letter-spacing:2px;word-break:break-all;text-align:center;font-family:ui-monospace,monospace;font-size:14px}.iot-device-label__meta{color:#333;text-align:center;flex-direction:column;gap:4px;font-size:13px;display:flex}.iot-device-label__actions{gap:8px;margin-top:8px;display:flex}.device-detail-dl{grid-template-columns:100px 1fr;gap:8px 16px;margin:0 0 16px;display:grid}.device-detail-dl dt{color:#555;font-size:13px;font-weight:600}.device-detail-dl dd{word-break:break-all;margin:0;font-size:14px}.device-detail-qr-url{margin-top:4px;font-size:12px}.device-detail-qr-url a{word-break:break-all}.device-actions{white-space:nowrap;flex-direction:column;gap:4px;display:flex}.device-table-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin:12px 0;padding:8px 12px}.comb-extraction-label,.bucket-label,.jar-label,.bottle-label{background:#fff;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.comb-extraction-label__qr,.bucket-label__qr,.jar-label__qr,.bottle-label__qr{background:#fff;padding:8px}.comb-extraction-label__code,.bucket-label__code,.jar-label__code,.bottle-label__code{letter-spacing:2px;color:#000;font-size:32px;font-weight:700}.comb-extraction-label__meta,.bucket-label__meta,.jar-label__meta,.bottle-label__meta{color:#333;text-align:center;font-size:14px}.comb-extraction-label__token,.bucket-label__token,.jar-label__token,.bottle-label__token{color:#666;letter-spacing:1px;word-break:break-all;text-align:center;max-width:280px;font-family:monospace;font-size:11px}.comb-extraction-label__luhn,.bucket-label__luhn,.jar-label__luhn,.bottle-label__luhn{letter-spacing:2px;color:#000;font-family:ui-monospace,monospace;font-size:16px;font-weight:600}.comb-extraction-label__footer,.bucket-label__footer,.jar-label__footer,.bottle-label__footer{color:#666;text-align:center;border-top:1px solid #eee;width:80%;padding-top:8px;font-size:13px}.comb-extraction-label__actions,.bucket-label__actions,.jar-label__actions,.bottle-label__actions{gap:8px;margin-top:8px;display:flex}@media print{#root,.modal-backdrop{display:none!important}.modal-root{box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;position:static!important;inset:auto!important;transform:none!important}#hive-box-label-printable *{display:revert!important}#hive-box-label-printable,#comb-extraction-label-printable,#bucket-label-printable,#jar-label-printable,#bottle-label-printable{padding:1cm}#comb-extraction-label-printable *,#bucket-label-printable *,#jar-label-printable *,#bottle-label-printable *{display:revert!important}#iot-device-label-printable{padding:1cm}#iot-device-label-printable *{display:revert!important}.no-print{display:none!important}body.printing-batch-labels #root,body.printing-shipping-list #root{display:block!important}body.printing-shipping-list #root>:not(.transfer-shipping-list){display:none!important}body.printing-shipping-list .transfer-shipping-list{display:block!important}body.printing-shipping-list .transfer-shipping-list *{display:revert!important}#transfer-shipping-list-printable{padding:1cm;font-size:11px}#transfer-shipping-list-printable .tsl-table *{display:revert!important}body.printing-batch-labels #root>:not(.batch-print-page){display:none!important}body.printing-batch-labels .batch-print-page{display:block!important}body.printing-batch-labels .batch-print{grid-template-columns:repeat(4,1fr);gap:0;padding:0;display:grid!important}body.printing-batch-labels .batch-label{page-break-inside:avoid;border:1px dashed #ccc;padding:.3cm}body.printing-batch-labels .batch-label *{display:revert!important}@page{margin:.5cm}}.public-verify{color:#222;box-sizing:border-box;background:#fff;max-width:480px;min-height:100vh;margin:0 auto;padding:20px;font-family:inherit}.public-verify__header{border-bottom:2px solid #ffc107;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 0 20px;display:flex}.public-verify__brand{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.public-verify__logo{font-size:28px}.public-verify__badge{color:#fff;background:#2e7d32;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500}.public-verify__product-card{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;margin-bottom:20px;padding:16px 20px}.public-verify__product-card h2{color:#e65100;margin:0 0 12px;font-size:20px}.public-verify__row{border-bottom:1px dashed #f0e0b0;justify-content:space-between;padding:6px 0;display:flex}.public-verify__row:last-child{border-bottom:none}.public-verify__trace{margin-top:24px}.public-verify__trace h3{color:#555;margin:0 0 12px;font-size:16px}.public-verify__trace-chain{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:16px}.trace-node{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:4px;padding:10px 14px}.trace-node__label{color:#888;margin-bottom:4px;font-size:12px}.trace-node__detail{font-family:ui-monospace,monospace;font-size:14px;font-weight:500}.trace-node--self{background:#fffde7;border-color:#ffc107}.trace-node--missing{color:#999;border-style:dashed;font-style:italic}.trace-arrow{text-align:center;color:#999;padding:2px 0;font-size:16px}.trace-colonies{border-left:2px solid #ffe082;margin-top:8px;padding-left:12px}.trace-colony-item{padding:4px 0;font-size:13px}.public-verify__footer{color:#888;text-align:center;border-top:1px solid #eee;margin-top:32px;padding-top:16px;font-size:12px}.public-verify__footer p{margin:4px 0}.public-verify.not-found,.public-verify.error-state{text-align:center;padding-top:80px}.public-verify.not-found h1,.public-verify.error-state h1{color:#d32f2f;margin-bottom:16px;font-size:22px}.transfer-shipping-list{color:#222;background:#fff;border:1px solid #e0e0e0;border-radius:4px;max-width:1100px;margin:16px auto;padding:24px;font-size:13px;display:block}.tsl-header{border-bottom:2px solid #000;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;display:flex}.tsl-coop-name{color:#000;font-size:22px;font-weight:700}.tsl-coop-sub{color:#666;margin-top:4px;font-size:14px}.tsl-meta{text-align:right;font-size:13px}.tsl-meta-row{justify-content:flex-end;gap:12px;margin-bottom:2px;display:flex}.tsl-label{color:#666}.tsl-value{color:#000;min-width:80px;font-weight:600}.tsl-route{background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:grid}.tsl-route-stop{padding:8px}.tsl-route-stop.highlight{background:#fff3e0;border-left:4px solid #f57c00;border-radius:0 6px 6px 0;padding-left:12px}.tsl-route-arrow{color:#f57c00;text-align:center;font-size:32px}.tsl-stop-label{color:#666;text-transform:uppercase;letter-spacing:1px;font-size:11px}.tsl-stop-code{margin-top:4px;font-size:18px;font-weight:700}.tsl-stop-name{margin-top:2px;font-size:14px}.tsl-stop-addr,.tsl-stop-contact,.tsl-stop-gps{color:#555;margin-top:4px;font-size:12px}.tsl-info{background:#fff8e1;border-radius:4px;gap:24px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.tsl-info strong{margin-right:4px}.tsl-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.tsl-table th,.tsl-table td{text-align:left;border:1px solid #999;padding:6px 8px}.tsl-table th{background:#f0f0f0;font-size:12px;font-weight:600}.tsl-table td strong{letter-spacing:1px;font-family:ui-monospace,monospace}.tsl-cell-empty{background:#fafafa}.tsl-qr{text-align:center;padding:2px}.tsl-signoff{background:#fafafa;border-radius:6px;grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:16px;padding:16px;display:grid}.tsl-sign-row{align-items:center;gap:8px;font-size:13px;display:flex}.tsl-sign-label{white-space:nowrap;color:#555;min-width:100px}.tsl-sign-line{border-bottom:1px solid #333;flex:1;min-height:20px}.tsl-sign-line.short{flex:0 0 80px}.tsl-sign-date{color:#888;white-space:nowrap;font-size:11px}.tsl-sign-row.highlight .tsl-sign-label{color:#d84315;font-weight:600}.tsl-incident{border:1px dashed #999;border-radius:4px;margin-bottom:12px;padding:12px}.tsl-incident-title{color:#666;margin-bottom:8px;font-size:12px}.tsl-incident-line{border-bottom:1px solid #999;height:24px;margin-bottom:4px}.tsl-footer{text-align:center;color:#888;border-top:1px solid #e0e0e0;padding-top:8px;font-size:11px}.batch-card-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:12px 16px;display:grid}.batch-card{background:var(--color-bg,#fafafa);border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius,4px);color:inherit;padding:12px;text-decoration:none;transition:border-color .15s,background .15s;display:block}.batch-card:hover{border-color:var(--color-primary,#1976d2);background:#f5f5f5}.batch-code{margin-bottom:6px;font-family:monospace;font-size:13px;font-weight:600}.batch-date{color:#666;margin-bottom:4px;font-size:12px}.timeline-item.medication-active{background:#fff8e1;border-left:3px solid #d32f2f}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:4px;padding:12px 16px;display:grid}.stat-tile{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius,6px);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.stat-tile-label{color:var(--color-text-secondary,#6e6e73);font-size:12px}.stat-tile-value{font-size:22px;font-weight:600;line-height:1.2}.stat-tile-unit{color:var(--color-text-secondary,#6e6e73);margin-left:4px;font-size:12px;font-weight:400}.monitor-page{max-width:1400px;margin:0 auto;padding:16px}.monitor-bar{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius,6px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.monitor-bar-left{align-items:baseline;gap:16px;display:flex}.monitor-bar-right{color:var(--color-text-secondary,#6e6e73);align-items:center;gap:12px;font-size:13px;display:flex}.monitor-title{margin:0;font-size:18px;font-weight:600}.monitor-count{color:var(--color-text-secondary,#6e6e73);font-size:14px}.monitor-count strong{color:var(--color-text,#1c1c1e);font-variant-numeric:tabular-nums;font-weight:600}.monitor-last-update strong{color:var(--color-text,#1c1c1e);font-variant-numeric:tabular-nums}.monitor-realtime-pill{border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.monitor-realtime-dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.monitor-realtime-pill--good{color:var(--color-success,#2e7d32);background:#2e7d3214}.monitor-realtime-pill--warning{color:var(--color-warn,#f59e0b);background:#f59e0b1a}.monitor-realtime-pill--critical{color:var(--color-error,#d32f2f);background:#d32f2f14}.monitor-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.hive-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius,6px);box-shadow:var(--shadow,0 1px 3px #0000000f);color:inherit;cursor:pointer;flex-direction:column;gap:12px;padding:14px 16px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.hive-card:hover{border-color:var(--color-primary,#1971d2);box-shadow:0 2px 6px #0000001a}.hive-card:focus-visible{outline:2px solid var(--color-primary,#1971d2);outline-offset:2px}.hive-card--offline{opacity:.85;border-color:#d32f2f4d}.hive-card--empty{background:var(--color-bg,#f5f5f7);border-style:dashed;border-color:var(--color-border,#c8c8cd);opacity:.85}.hive-card-sub{color:var(--color-text-secondary,#6e6e73);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.hive-status-pill--empty{color:var(--color-warn,#f59e0b);background:#f59e0b1f}.hive-card-empty-body{flex-direction:column;gap:10px;padding:8px 0;display:flex}.hive-card-empty-text{color:var(--color-text-secondary,#6e6e73);margin:0;font-size:12px}.hive-card-install-btn{border:1px solid var(--color-primary,#5b8def);background:var(--color-primary,#5b8def);color:#fff;cursor:pointer;border-radius:4px;align-self:flex-start;padding:6px 12px;font-size:12px;font-weight:600;transition:filter .15s}.hive-card-install-btn:hover:not(:disabled){filter:brightness(.92)}.hive-card-install-btn:disabled{opacity:.4;cursor:not-allowed}.monitor-empty-colonies{flex-direction:column;gap:8px;margin-top:8px;display:flex}.monitor-section-count{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);border-radius:10px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.hive-card--loading .hive-card-skeleton{background:linear-gradient(90deg, var(--color-bg) 0%, var(--color-border) 50%, var(--color-bg) 100%);border-radius:var(--radius,6px);background-size:200% 100%;height:140px;animation:1.4s ease-in-out infinite monitor-shimmer}@keyframes monitor-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hive-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.hive-card-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.hive-card-id{color:var(--color-text,#1c1c1e);font-size:16px;font-weight:600}.hive-card-type{color:var(--color-text-secondary,#6e6e73);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.hive-status-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.hive-status-dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block}.hive-status-pill--online{color:var(--color-success,#2e7d32);background:#2e7d321a}.hive-status-pill--offline{color:var(--color-error,#d32f2f);background:#d32f2f14}.hive-card-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.metric-tile{background:var(--color-bg,#f5f5f7);border-left:3px solid var(--color-border,#e0e0e0);border-radius:4px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.metric-tile--good{border-left-color:var(--color-success,#2e7d32)}.metric-tile--warning{border-left-color:var(--color-warn,#f59e0b)}.metric-tile--critical{border-left-color:var(--color-error,#d32f2f)}.metric-tile-label{color:var(--color-text-secondary,#6e6e73);align-items:center;gap:4px;font-size:11px;display:flex}.metric-tile-icon-wrap{align-items:center;display:inline-flex}.metric-tile-icon-wrap--good{color:var(--color-success,#2e7d32)}.metric-tile-icon-wrap--warning{color:var(--color-warn,#f59e0b)}.metric-tile-icon-wrap--critical{color:var(--color-error,#d32f2f)}.metric-tile-value{color:var(--color-text,#1c1c1e);font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;font-size:16px;font-weight:600;display:flex}.metric-tile-value--empty{color:var(--color-text-secondary,#6e6e73);font-weight:400}.metric-tile-unit{color:var(--color-text-secondary,#6e6e73);font-size:11px;font-weight:400}.hive-card-footer{border-top:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:flex-end;gap:12px;padding-top:10px;display:flex}.hive-card-spark{flex:1;min-width:0}.hive-card-lastseen{color:var(--color-text-secondary,#6e6e73);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.sparkline{width:100%;height:40px;display:block}.sparkline-line{fill:none;stroke:var(--color-primary,#1971d2);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.sparkline-area{fill:var(--color-primary,#1971d2);fill-opacity:.1;stroke:none}.sparkline-end{fill:var(--color-primary,#1971d2);stroke:var(--color-surface,#fff);stroke-width:2px}.sparkline-baseline{stroke:var(--color-border,#e0e0e0);stroke-width:1px;stroke-dasharray:3 3}.monitor-empty{text-align:center;background:var(--color-surface,#fff);border:1px dashed var(--color-border,#e0e0e0);border-radius:var(--radius,6px);color:var(--color-text-secondary,#6e6e73);padding:48px 16px}.monitor-empty p{margin:4px 0}.monitor-empty code{background:var(--color-bg,#f5f5f7);border-radius:3px;padding:1px 6px;font-size:12px}.monitor-empty-hint{max-width:560px;margin:8px auto 0;font-size:12px;line-height:1.6}@media (width<=480px){.hive-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.monitor-page-body,.monitor-gateways{flex-direction:column;gap:16px;display:flex}.s3-gateway-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius,6px);box-shadow:var(--shadow,0 1px 3px #0000000f);border-left:4px solid #5b8def;flex-direction:column;gap:12px;padding:16px;display:flex}.s3-gateway-card--online{border-left-color:#5b8def}.s3-gateway-card--offline{border-left-color:var(--color-error,#d32f2f);opacity:.9}.s3-gateway-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.s3-gateway-card-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.s3-gateway-card-id{color:var(--color-text,#1c1c1e);font-size:16px;font-weight:600}.s3-gateway-card-mac{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);border-radius:3px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.s3-gateway-card-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.gateway-stat{background:var(--color-bg,#f5f5f7);border-left:3px solid var(--color-border,#e0e0e0);border-radius:4px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.gateway-stat--good{border-left-color:var(--color-success,#2e7d32)}.gateway-stat--warning{border-left-color:var(--color-warn,#f59e0b)}.gateway-stat--critical{border-left-color:var(--color-error,#d32f2f)}.gateway-stat-label{color:var(--color-text-secondary,#6e6e73);font-size:11px}.gateway-stat-value{color:var(--color-text,#1c1c1e);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:15px;font-weight:600;display:flex}.gateway-stat-unit{color:var(--color-text-secondary,#6e6e73);font-size:11px;font-weight:400}.s3-gateway-card-nodes{flex-direction:column;gap:8px;display:flex}.s3-gateway-card-nodes-label{color:var(--color-text-secondary,#6e6e73);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.s3-gateway-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.s3-gateway-card-empty{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);text-align:center;border-radius:4px;padding:12px;font-size:13px}.monitor-ungrouped{flex-direction:column;gap:8px;display:flex}.monitor-section-title{color:var(--color-text-secondary,#6e6e73);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:13px;font-weight:600}@media (width<=480px){.s3-gateway-card-stats{grid-template-columns:1fr}}.s3-gateway-card-header-right{align-items:center;gap:8px;display:flex}.s3-gateway-card-manage{border:1px solid var(--color-primary,#5b8def);background:var(--color-primary,#5b8def);color:#fff;cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600;transition:filter .15s}.s3-gateway-card-manage:hover{filter:brightness(.92)}.s3-gateway-card-manage:active{filter:brightness(.85)}.manage-c3-modal-content{background:var(--color-surface,#fff);border-radius:8px;flex-direction:column;width:min(720px,92vw);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 12px 36px #0000002e}.manage-c3-modal-header{border-bottom:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.manage-c3-modal-title{color:var(--color-text,#1c1c1e);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:600}.manage-c3-modal-close{color:var(--color-text-secondary,#6e6e73);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.manage-c3-modal-close:hover{background:var(--color-bg,#f5f5f7)}.manage-c3-modal-close:disabled{opacity:.5;cursor:not-allowed}.manage-c3-modal-hint{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);border-bottom:1px solid var(--color-border,#e0e0e0);margin:0;padding:8px 18px;font-size:12px}.manage-c3-modal-error{color:var(--color-error,#d32f2f);border-bottom:1px solid var(--color-error,#d32f2f);background:#d32f2f14;margin:0;padding:8px 18px;font-size:13px}.manage-c3-modal-body{background:var(--color-border,#e0e0e0);flex:auto;grid-template-columns:1fr 1fr;gap:1px;min-height:0;display:grid;overflow:hidden}.manage-c3-pane{background:var(--color-surface,#fff);flex-direction:column;display:flex;overflow:hidden}.manage-c3-pane-header{border-bottom:1px solid var(--color-border,#e0e0e0);color:var(--color-text-secondary,#6e6e73);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.manage-c3-pane-header h3{font-size:inherit;font-weight:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;margin:0}.manage-c3-pane-count{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.manage-c3-pane-list{flex-direction:column;flex:auto;gap:4px;padding:6px 8px;display:flex;overflow-y:auto}.manage-c3-pane-empty{color:var(--color-text-secondary,#6e6e73);text-align:center;padding:20px;font-size:13px}.manage-c3-row{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;transition:background .1s;display:flex}.manage-c3-row:hover{background:var(--color-bg,#f5f5f7)}.manage-c3-row--ungrouped{border-left:3px solid var(--color-warn,#f59e0b)}.manage-c3-row--assigned{border-left:3px solid var(--color-success,#2e7d32)}.manage-c3-checkbox{cursor:pointer;margin:0}.manage-c3-id{color:var(--color-text,#1c1c1e);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.manage-c3-mac{color:var(--color-text-secondary,#6e6e73);margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.manage-c3-modal-footer{border-top:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.manage-c3-modal-summary{color:var(--color-text-secondary,#6e6e73);font-size:12px}.manage-c3-modal-actions{gap:8px;display:flex}.manage-c3-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:7px 18px;font-size:13px;font-weight:600;transition:filter .15s}.manage-c3-btn--ghost{color:var(--color-text,#1c1c1e);border-color:var(--color-border,#e0e0e0);background:0 0}.manage-c3-btn--ghost:hover{background:var(--color-bg,#f5f5f7)}.manage-c3-btn--primary{background:var(--color-primary,#5b8def);color:#fff;border-color:var(--color-primary,#5b8def)}.manage-c3-btn--primary:hover:not(:disabled){filter:brightness(.92)}.manage-c3-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.manage-c3-modal-body{grid-template-columns:1fr}}.hive-card-menu-btn{border:1px solid var(--color-border,#e0e0e0);cursor:pointer;width:24px;height:24px;color:var(--color-text-secondary,#6e6e73);background:0 0;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:16px;line-height:1;transition:background .12s,border-color .12s;display:inline-flex}.hive-card-menu-btn:hover{background:var(--color-bg,#f5f5f7);border-color:var(--color-text-secondary,#6e6e73)}.hive-card-menu-btn:active{background:var(--color-border,#e0e0e0)}.reassign-c3-modal .modal-root{width:min(480px,92vw)}.reassign-c3-modal-content{background:var(--color-surface,#fff);border-radius:8px;flex-direction:column;width:100%;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 12px 36px #0000002e}.reassign-c3-modal-header{border-bottom:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.reassign-c3-modal-title{color:var(--color-text,#1c1c1e);margin:0;font-size:15px;font-weight:600}.reassign-c3-modal-close{color:var(--color-text-secondary,#6e6e73);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.reassign-c3-modal-close:hover{background:var(--color-bg,#f5f5f7)}.reassign-c3-modal-close:disabled{opacity:.5;cursor:not-allowed}.reassign-c3-modal-hint{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);border-bottom:1px solid var(--color-border,#e0e0e0);margin:0;padding:8px 18px;font-size:12px}.reassign-c3-modal-error{color:var(--color-error,#d32f2f);border-bottom:1px solid var(--color-error,#d32f2f);background:#d32f2f14;margin:0;padding:8px 18px;font-size:13px}.reassign-c3-modal-body{flex-direction:column;flex:auto;gap:14px;padding:16px 18px;display:flex;overflow:auto}.reassign-c3-modal-info-block{background:var(--color-bg,#f5f5f7);border:1px solid var(--color-border,#e0e0e0);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.reassign-c3-modal-info-row{align-items:baseline;gap:10px;font-size:13px;display:flex}.reassign-c3-modal-label{color:var(--color-text-secondary,#6e6e73);min-width:60px;font-size:12px}.reassign-c3-modal-value{color:var(--color-text,#1c1c1e);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.reassign-c3-modal-mac{color:var(--color-text-secondary,#6e6e73);font-size:11px}.reassign-c3-modal-field{flex-direction:column;gap:6px;display:flex}.reassign-c3-modal-select,.reassign-c3-modal-textarea{border:1px solid var(--color-border,#e0e0e0);background:var(--color-surface,#fff);width:100%;color:var(--color-text,#1c1c1e);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-family:inherit;font-size:13px}.reassign-c3-modal-select:focus,.reassign-c3-modal-textarea:focus{border-color:var(--color-primary,#5b8def);outline:none;box-shadow:0 0 0 2px #5b8def2e}.reassign-c3-modal-select:disabled,.reassign-c3-modal-textarea:disabled{opacity:.6;cursor:not-allowed}.reassign-c3-modal-textarea{resize:vertical;min-height:64px;font-family:inherit}.reassign-c3-modal-preview{background:var(--color-bg,#f5f5f7);border-radius:4px;align-items:baseline;gap:8px;padding:6px 10px;font-size:12px;display:flex}.reassign-c3-option-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.reassign-c3-option-meta{color:var(--color-text-secondary,#6e6e73)}.reassign-c3-option-mac{color:var(--color-text-secondary,#6e6e73);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.reassign-c3-modal-footer{border-top:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.reassign-c3-modal-summary{color:var(--color-text-secondary,#6e6e73);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.reassign-c3-modal-actions{gap:8px;display:flex}.reassign-c3-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:7px 18px;font-size:13px;font-weight:600;transition:filter .15s}.reassign-c3-btn--ghost{color:var(--color-text,#1c1c1e);border-color:var(--color-border,#e0e0e0);background:0 0}.reassign-c3-btn--ghost:hover:not(:disabled){background:var(--color-bg,#f5f5f7)}.reassign-c3-btn--primary{background:var(--color-primary,#5b8def);color:#fff;border-color:var(--color-primary,#5b8def)}.reassign-c3-btn--primary:hover:not(:disabled){filter:brightness(.92)}.reassign-c3-btn:disabled{opacity:.5;cursor:not-allowed}.hive-card-menu-wrap{margin-left:auto;position:relative}.hive-card-menu{z-index:100;background:var(--color-surface,#fff);border:1px solid var(--color-border,#e0e0e0);border-radius:4px;min-width:120px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 12px #0000001f}.hive-card-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--color-text,#1c1c1e);background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:13px;display:block}.hive-card-menu-item:hover{background:var(--color-bg,#f5f5f7)}.install-c3-modal .modal-root{width:min(480px,92vw)}.install-c3-modal-content{background:var(--color-surface,#fff);border-radius:8px;flex-direction:column;width:100%;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 12px 36px #0000002e}.install-c3-modal-header{border-bottom:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.install-c3-modal-title{color:var(--color-text,#1c1c1e);margin:0;font-size:15px;font-weight:600}.install-c3-modal-close{color:var(--color-text-secondary,#6e6e73);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.install-c3-modal-close:hover{background:var(--color-bg,#f5f5f7)}.install-c3-modal-close:disabled{opacity:.5;cursor:not-allowed}.install-c3-modal-hint{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);border-bottom:1px solid var(--color-border,#e0e0e0);margin:0;padding:8px 18px;font-size:12px}.install-c3-modal-error{color:var(--color-error,#d32f2f);border-bottom:1px solid var(--color-error,#d32f2f);background:#d32f2f14;margin:0;padding:8px 18px;font-size:13px}.install-c3-modal-body{flex-direction:column;flex:auto;gap:14px;padding:16px 18px;display:flex;overflow:auto}.install-c3-modal-info-block{background:var(--color-bg,#f5f5f7);border:1px solid var(--color-border,#e0e0e0);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.install-c3-modal-info-row{align-items:baseline;gap:10px;font-size:13px;display:flex}.install-c3-modal-label{color:var(--color-text-secondary,#6e6e73);min-width:60px;font-size:12px}.install-c3-modal-value{color:var(--color-text,#1c1c1e);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.install-c3-modal-status-empty{color:var(--color-warn,#f59e0b)}.install-c3-modal-field{flex-direction:column;gap:6px;display:flex}.install-c3-modal-select,.install-c3-modal-textarea{border:1px solid var(--color-border,#e0e0e0);background:var(--color-surface,#fff);width:100%;color:var(--color-text,#1c1c1e);box-sizing:border-box;border-radius:4px;padding:8px 10px;font-family:inherit;font-size:13px}.install-c3-modal-select:focus,.install-c3-modal-textarea:focus{border-color:var(--color-primary,#5b8def);outline:none;box-shadow:0 0 0 2px #5b8def2e}.install-c3-modal-select:disabled,.install-c3-modal-textarea:disabled{opacity:.6;cursor:not-allowed}.install-c3-modal-textarea{resize:vertical;min-height:64px}.install-c3-modal-footer{border-top:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.install-c3-modal-summary{color:var(--color-text-secondary,#6e6e73);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.install-c3-modal-actions{gap:8px;display:flex}.install-c3-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:7px 18px;font-size:13px;font-weight:600;transition:filter .15s}.install-c3-btn--ghost{color:var(--color-text,#1c1c1e);border-color:var(--color-border,#e0e0e0);background:0 0}.install-c3-btn--ghost:hover:not(:disabled){background:var(--color-bg,#f5f5f7)}.install-c3-btn--primary{background:var(--color-primary,#5b8def);color:#fff;border-color:var(--color-primary,#5b8def)}.install-c3-btn--primary:hover:not(:disabled){filter:brightness(.92)}.install-c3-btn:disabled{opacity:.5;cursor:not-allowed}.uninstall-c3-modal .modal-root{width:min(480px,92vw)}.uninstall-c3-modal-content{background:var(--color-surface,#fff);border-radius:8px;flex-direction:column;width:100%;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 12px 36px #0000002e}.uninstall-c3-modal-header{border-bottom:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.uninstall-c3-modal-title{color:var(--color-text,#1c1c1e);margin:0;font-size:15px;font-weight:600}.uninstall-c3-modal-close{color:var(--color-text-secondary,#6e6e73);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.uninstall-c3-modal-close:hover{background:var(--color-bg,#f5f5f7)}.uninstall-c3-modal-close:disabled{opacity:.5;cursor:not-allowed}.uninstall-c3-modal-hint{color:var(--color-text-secondary,#6e6e73);background:var(--color-bg,#f5f5f7);border-bottom:1px solid var(--color-border,#e0e0e0);margin:0;padding:8px 18px;font-size:12px}.uninstall-c3-modal-error{color:var(--color-error,#d32f2f);border-bottom:1px solid var(--color-error,#d32f2f);background:#d32f2f14;margin:0;padding:8px 18px;font-size:13px}.uninstall-c3-modal-body{flex-direction:column;flex:auto;gap:14px;padding:16px 18px;display:flex;overflow:auto}.uninstall-c3-modal-info-block{background:var(--color-bg,#f5f5f7);border:1px solid var(--color-border,#e0e0e0);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.uninstall-c3-modal-info-row{align-items:baseline;gap:10px;font-size:13px;display:flex}.uninstall-c3-modal-consequence{color:var(--color-warn,#f59e0b)}.uninstall-c3-modal-label{color:var(--color-text-secondary,#6e6e73);min-width:60px;font-size:12px}.uninstall-c3-modal-value{color:var(--color-text,#1c1c1e);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.uninstall-c3-modal-mac{color:var(--color-text-secondary,#6e6e73);font-size:11px}.uninstall-c3-modal-field{flex-direction:column;gap:6px;display:flex}.uninstall-c3-modal-textarea{border:1px solid var(--color-border,#e0e0e0);background:var(--color-surface,#fff);width:100%;color:var(--color-text,#1c1c1e);box-sizing:border-box;resize:vertical;border-radius:4px;min-height:64px;padding:8px 10px;font-family:inherit;font-size:13px}.uninstall-c3-modal-textarea:focus{border-color:var(--color-primary,#5b8def);outline:none;box-shadow:0 0 0 2px #5b8def2e}.uninstall-c3-modal-textarea:disabled{opacity:.6;cursor:not-allowed}.uninstall-c3-modal-footer{border-top:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.uninstall-c3-modal-summary{color:var(--color-text-secondary,#6e6e73);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.uninstall-c3-modal-actions{gap:8px;display:flex}.uninstall-c3-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:7px 18px;font-size:13px;font-weight:600;transition:filter .15s}.uninstall-c3-btn--ghost{color:var(--color-text,#1c1c1e);border-color:var(--color-border,#e0e0e0);background:0 0}.uninstall-c3-btn--ghost:hover:not(:disabled){background:var(--color-bg,#f5f5f7)}.uninstall-c3-btn--danger{background:var(--color-error,#d32f2f);color:#fff;border-color:var(--color-error,#d32f2f)}.uninstall-c3-btn--danger:hover:not(:disabled){filter:brightness(.92)}.uninstall-c3-btn:disabled{opacity:.5;cursor:not-allowed}.devices-page .status-pill{color:#fff;border-radius:.5rem;padding:.15rem .5rem;font-size:.85rem;display:inline-block}.devices-page .pill--c3{color:#fff;background:#2563eb;border-radius:.5rem;padding:.15rem .5rem;font-size:.85rem}.devices-page .pill--s3{color:#fff;background:#7c3aed;border-radius:.5rem;padding:.15rem .5rem;font-size:.85rem}.devices-page .pill--firmware{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.4rem;padding:.1rem .5rem;font-family:ui-monospace,monospace;font-size:.82rem}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.5rem}.data-table th{background:#f9fafb;font-size:.85rem;font-weight:600}.scan-entry{background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.scan-hint{color:#16a34a;font-size:.85rem}.input-error{border-color:#d32f2f!important}.modal-root .form label.field-block{width:100%;margin-bottom:1rem;display:block}.modal-root .form label.field-block input,.modal-root .form label.field-block select{box-sizing:border-box;width:100%;margin-top:.35rem;padding:.5rem .6rem;display:block}.modal-root .form label.field-block .muted{color:#6b7280;margin-top:.3rem;font-size:.82rem;line-height:1.4;display:block}.modal-root .form label.field-block .form-error{color:#d32f2f;margin-top:.3rem;font-size:.82rem;display:block}.modal-root .form .form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.hive-detail-page{max-width:1000px;margin:0 auto;padding:0 1rem 2rem}.hive-detail-page h1{align-items:baseline;gap:.5rem;margin-bottom:.25rem;font-size:1.5rem;display:flex}.hive-detail-page h1 a{color:var(--color-primary,#1971d2);text-decoration:none}.hive-detail-device-type,.hive-detail-mac{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.hive-detail-toolbar{border-bottom:1px solid #e5e7eb;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 0;display:flex}.range-tabs{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;gap:0;display:inline-flex;overflow:hidden}.range-tab{cursor:pointer;color:#4b5563;background:0 0;border:none;padding:.45rem 1rem;font-size:.9rem;transition:background .12s,color .12s}.range-tab:hover:not(.range-tab--active){background:#f3f4f6}.range-tab--active{background:var(--color-primary,#1971d2);color:#fff;font-weight:600}.hive-detail-chart{background:var(--color-surface,#fff);border:1px solid #e5e7eb;border-radius:.5rem;width:100%;margin-bottom:1rem;padding:1rem}.hive-detail-chart svg{width:100%;height:auto;display:block}.hive-detail-metrics{grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.hive-detail-meta{color:#4b5563;background:#f9fafb;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.hive-detail-meta code{background:#fff;border:1px solid #e5e7eb;border-radius:.25rem;padding:.1rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hive-detail-crossings h2{margin:0 0 .75rem;font-size:1.05rem}.crossing-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.crossing-item{background:#f9fafb;border-radius:.4rem;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.88rem;display:flex}.crossing-item--warning{background:#fff7ed;border-left:3px solid #f59e0b}.crossing-item--critical{background:#fef2f2;border-left:3px solid #dc2626}.crossing-marker{color:#dc2626;font-size:.85rem}.crossing-ts{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.crossing-desc{color:#1f2937}.trend-chart-time-series{width:100%;height:auto}.trend-chart-line{fill:none;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.trend-chart-endpoint{stroke:#fff;stroke-width:1.5px}.trend-chart-axis{stroke:#d1d5db;stroke-width:1px}.trend-chart-y-label,.trend-chart-x-label{fill:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.trend-chart-y-unit{fill:#9ca3af;font-size:9px}.trend-chart-baseline{stroke:#e5e7eb;stroke-dasharray:4 3;stroke-width:1px}.trend-chart-empty-label{fill:#9ca3af;font-family:-apple-system,sans-serif;font-size:14px}.trend-chart-crossing{cursor:help;opacity:.85}.trend-chart-crossing--warning{fill:#f59e0b}.trend-chart-crossing--critical{fill:#dc2626}.trend-chart-crossing--good{fill:#16a34a}.status-pill--online{color:#fff;background:#16a34a;border-radius:.5rem;padding:.15rem .5rem;font-size:.82rem;display:inline-block}.status-pill--offline{color:#fff;background:#6b7280;border-radius:.5rem;padding:.15rem .5rem;font-size:.82rem;display:inline-block}
