*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f172a;color:#e5e7eb}#app{min-height:100vh;display:flex;align-items:stretch;justify-content:center}.app-shell{width:100%;max-width:1200px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 900px){.app-main{display:grid;grid-template-columns:2fr 1.2fr 1.2fr;gap:1.25rem;align-items:flex-start}}@media (max-width: 768px){.app-shell{padding:1rem;gap:1.25rem}.app-main{display:flex;flex-direction:column;gap:1rem}}.panel{background:#0f172ae6;border-radius:1rem;padding:1.25rem;border:1px solid rgba(148,163,184,.35);box-shadow:0 18px 45px #0f172ae6}.panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.panel-title{font-size:1rem;font-weight:600}.panel-subtitle{font-size:.8rem;color:#9ca3af}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.5);font-size:.75rem;background:#0f172ae6;cursor:pointer;transition:background .12s ease,transform .12s ease,border-color .12s ease;color:#e5e7eb}.chip:hover{background:#0f172a;border-color:#e5e7eb;transform:translateY(-1px)}.chip-muted{cursor:default}.chip-muted:hover{transform:none}.btn{border-radius:999px;border:1px solid rgba(148,163,184,.5);background:linear-gradient(135deg,#0284c7,#38bdf8);color:#0b1120;padding:.5rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;outline:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:box-shadow .12s ease,transform .12s ease,filter .12s ease}.btn:hover{filter:brightness(1.05);box-shadow:0 12px 30px #38bdf873;transform:translateY(-1px)}.btn-secondary{background:#0f172ae6;color:#e5e7eb;border-color:#94a3b8a6}.btn-ghost{background:transparent;border-color:#94a3b866;color:#9ca3af}.btn-ghost:hover{background:#0f172ae6;color:#e5e7eb}.btn-danger{background:#7f1d1d66;border-color:#f87171e6;color:#fecaca}.btn-sm{padding:.25rem .6rem;font-size:.75rem}.btn-icon{width:2rem;height:2rem;padding:0}.input,.select{width:100%;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#0f172acc;color:#e5e7eb;padding:.5rem .85rem;font-size:.85rem;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.input:focus,.select:focus{border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf8a6;background:#0f172a}.input::placeholder{color:#6b7280}.field-row{display:flex;gap:.5rem}.field-row>*{flex:1}.field-row>.field-grow-0{flex:0}@media (max-width: 768px){.field-row{flex-direction:column}.field-row>.field-grow-0{width:100%}.field-row .btn{width:100%}}.list{margin:.25rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.list-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:.75rem;border:1px solid rgba(31,41,55,.9);background:radial-gradient(circle at top left,#0f172a,#0f172ae6)}.list-item-main{flex:1;display:flex;flex-direction:column;gap:.1rem}.list-item-title{font-size:.9rem;font-weight:500}.list-item-sub{font-size:.7rem;color:#9ca3af;display:flex;gap:.35rem;align-items:center}.pill{border-radius:999px;padding:.05rem .4rem;border:1px solid rgba(148,163,184,.6);font-size:.65rem}.pill-soft{background:#0f172ab3}.checkbox{width:1.25rem;height:1.25rem;border-radius:.4rem;border:1px solid rgba(148,163,184,.6);background:#0f172acc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.7rem}.checkbox input{display:none}.checkbox-checked{background:linear-gradient(135deg,#22c55e,#4ade80);border-color:#bbf7d0;color:#052e16}.muted{color:#9ca3af}.muted-strong{color:#e5e7eb}.badge{border-radius:999px;border:1px solid rgba(56,189,248,.85);font-size:.65rem;padding:.1rem .4rem;background:radial-gradient(circle at top left,#0f172a,#0ea5e9);color:#e0f2fe}.divider{height:1px;border:0;background:linear-gradient(to right,transparent,rgba(148,163,184,.6),transparent);margin:.75rem 0}.header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}@media (max-width: 768px){.header{align-items:flex-start}}.header-title{display:flex;flex-direction:column;gap:.2rem}.header-title-main{font-size:1.4rem;font-weight:650;letter-spacing:-.03em}.header-title-sub{font-size:.8rem;color:#9ca3af}.alert{border-radius:.9rem;border:1px solid rgba(248,250,252,.08);padding:.6rem .75rem;font-size:.75rem;display:flex;align-items:flex-start;gap:.4rem}.alert-info{background:#0f172ae6}.alert-error{background:#7f1d1d66;border-color:#f87171e6;color:#fee2e2}.alert-icon{font-size:.9rem}.alert-body{flex:1}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip-api{flex:1 1 220px}.input-api{font-size:.75rem}@media (max-width: 768px){.tag-row{flex-direction:column;align-items:stretch}.chip-api{width:100%;justify-content:space-between}.input-api{width:100%}}.empty-state{font-size:.8rem;color:#6b7280;padding:.4rem 0}.toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;margin-top:.5rem}@media (max-width: 768px){.toolbar{justify-content:stretch;flex-direction:column}.toolbar .btn{width:100%;justify-content:center}}.ai-pill{border-radius:999px;padding:.15rem .45rem;border:1px solid rgba(167,139,250,.9);font-size:.65rem;background:radial-gradient(circle at top left,#0f172a,#4c1d95);color:#e9d5ff}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172acc;display:flex;align-items:center;justify-content:center;z-index:40}.dialog{background:#0f172afa;border-radius:1rem;border:1px solid rgba(148,163,184,.6);width:min(100% - 2rem,720px);max-height:min(90vh,720px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 55px #0f172a}.dialog-header{padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid rgba(30,64,175,.7);background:radial-gradient(circle at top left,#1d243b,#020617)}.dialog-title{font-size:.95rem;font-weight:600}.dialog-body{padding:.85rem 1rem;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:.75rem}@media (max-width: 768px){.dialog-body{grid-template-columns:minmax(0,1fr)}}.dialog-footer{padding:.7rem 1rem .85rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem;border-top:1px solid rgba(15,23,42,.95)}.camera-frame{position:relative;border-radius:.9rem;overflow:hidden;border:1px solid rgba(30,64,175,.7);background:radial-gradient(circle at top left,#020617,#1d243b);min-height:220px}.camera-video,.camera-image{width:100%;display:block}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.camera-overlay-inner{width:100%;padding:.6rem;display:flex;justify-content:center;pointer-events:auto}.status-row{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem}.status-dot{width:.45rem;height:.45rem;border-radius:999px;background:#22c55e}.status-dot-busy{background:#0ea5e9}.status-dot-error{background:#ef4444}.status-line{display:flex;align-items:center;gap:.35rem}.status-log{max-height:140px;overflow:auto;border-radius:.5rem;border:1px solid rgba(31,41,55,.9);padding:.35rem .5rem;background:#0f172ae6}.status-log-item,.pill-count{font-size:.7rem;color:#9ca3af}
