*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--bg2: #f5f5f4;--bg3: #eeece8;--text: #1a1a18;--text2: #6b6b67;--text3: #9b9b96;--border: rgba(0,0,0,.1);--border2: rgba(0,0,0,.18);--radius: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--text-xs: 11px;--text-sm: 12px;--text-13: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 22px;--text-2xl: 28px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--success: #3d6b55;--success-bg: #edf1ee;--warn: #7c5e34;--warn-bg: #f2eee6;--danger: #93493f;--danger-bg: #f1e9e7;--info: #4d5b6b;--info-bg: #edeff2;--accent: var(--info)}@media (prefers-color-scheme: dark){:root{--bg: #1c1c1a;--bg2: #252523;--bg3: #2e2e2c;--text: #e8e6df;--text2: #9b9b96;--text3: #6b6b67;--border: rgba(255,255,255,.1);--border2: rgba(255,255,255,.18);--success: #7fae97;--success-bg: #26312c;--warn: #c2a06a;--warn-bg: #322c22;--danger: #c98a80;--danger-bg: #332624;--info: #93a3b5;--info-bg: #262a30}}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:var(--info)}.btn{padding:8px 15px;border-radius:var(--radius);border:.5px solid var(--border2);background:transparent;color:var(--text);font-size:var(--text-sm);font-weight:var(--font-medium);transition:background .12s,border-color .12s,opacity .12s}.btn:hover{background:var(--bg2)}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{background:var(--text);opacity:.85}.btn-danger{border-color:var(--danger-bg);color:var(--danger);background:transparent}.btn-danger:hover{background:var(--danger-bg)}.btn-success{border-color:var(--success-bg);color:var(--success);background:transparent}.btn-success:hover{background:var(--success-bg)}.btn-sm{padding:4px 10px;font-size:var(--text-sm)}.btn:disabled{opacity:.45;cursor:default}.badge{display:inline-block;font-size:10px;padding:3px 8px;border-radius:5px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;background:var(--bg2);color:var(--text2)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-info{background:var(--info-bg);color:var(--info)}.card{background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4);box-shadow:0 1px 2px #0000000a}.card-clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.card-clickable:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.card-banner{width:calc(100% + 2 * var(--space-4));margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);height:180px;object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:block}.card-banner-empty{display:flex;align-items:center;justify-content:center;font-size:36px;background:var(--bg2);color:var(--text3)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:-.01em;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.card-meta{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-top:5px}.crumb{background:none;border:none;padding:0;cursor:pointer;font-size:var(--text-md);color:var(--text2);display:inline-flex;align-items:center;gap:6px;letter-spacing:-.005em;transition:color .12s}.crumb:hover:not(:disabled){color:var(--text)}.crumb:disabled{opacity:.35;cursor:default}.crumb-chevron{font-size:1.15em;line-height:1}.reg-plate{display:inline-block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600;font-size:var(--text-sm);letter-spacing:.1em;padding:4px 9px;border:1px solid var(--border2);border-radius:5px;background:var(--bg2);color:var(--text);white-space:nowrap}.hero-wrap{width:100%;height:380px;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg2);cursor:pointer;margin-bottom:var(--space-3)}.hero-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.hero-wrap:hover .hero-img{transform:scale(1.02)}.hero-empty{display:flex;align-items:center;justify-content:center;font-size:60px;color:var(--text3);cursor:default}.photo-strip{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-5)}.photo-thumb{position:relative;width:88px;height:62px;border-radius:var(--radius);overflow:hidden;border:.5px solid var(--border)}.photo-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block;transition:opacity .12s}.photo-thumb.active{outline:2px solid var(--text);outline-offset:1px}.photo-thumb:not(.active) img:hover{opacity:.82}.photo-x{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.photo-main{position:absolute;top:2px;left:2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;font-size:11px;line-height:1;background:#0000008c;color:#fff}.photo-main-set{cursor:pointer;opacity:0;transition:opacity .12s}.photo-thumb:hover .photo-main-set,.photo-main-set:focus-visible{opacity:1}.photo-main-set:hover{background:#000c}.photo-x:hover{background:var(--danger)}.photo-add{width:88px;height:62px;border:1.5px dashed var(--border2);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text3);cursor:pointer;font-size:18px}.photo-add:hover{border-color:var(--text2);color:var(--text2)}.overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.overlay.open{display:flex}.modal{background:var(--bg);border-radius:var(--radius-lg);border:.5px solid var(--border);padding:1.5rem;width:100%;max-width:560px;margin:auto;max-height:calc(100vh - 4rem);overflow-y:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid>*{min-width:0}.form-full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--text3)}.field input,.field select,.field textarea{width:100%;max-width:100%;min-width:0;font-size:var(--text-base);padding:8px 11px;border-radius:var(--radius);border:.5px solid var(--border2);background:var(--bg);color:var(--text);transition:border-color .12s,box-shadow .12s}.field textarea{resize:vertical;min-height:60px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--text2);box-shadow:0 0 0 3px var(--bg2)}.section-divider{font-size:var(--text-sm);font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;grid-column:1/-1;padding-bottom:4px;border-bottom:.5px solid var(--border);margin-top:6px}.form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:.5px solid var(--border)}.required{color:var(--danger)}.page-hidden{display:none!important}.empty{text-align:center;padding:3rem 1rem;color:var(--text2);font-size:14px}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-size:12px;font-weight:500;color:var(--text2);padding:8px 10px;border-bottom:.5px solid var(--border)}table.data td{padding:10px;border-bottom:.5px solid var(--border);vertical-align:top}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:var(--bg2)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-bottom:1.5rem}.stat-card{background:var(--bg2);border-radius:var(--radius);padding:12px 14px}.stat-label{font-size:var(--text-sm);color:var(--text2);margin-bottom:4px}.stat-value{font-size:var(--text-xl);font-weight:500}.stat-inline{background:none;border:none;padding:0;display:flex;align-items:baseline;gap:6px;font-size:var(--text-sm);color:var(--text2)}.stat-inline .stat-inline-val{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text)}button.stat-inline{cursor:pointer}button.stat-inline:hover .stat-inline-lbl{color:var(--text);text-decoration:underline}.stat-static{cursor:default}.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 20px}.spec-item{display:flex;flex-direction:column;gap:2px;min-width:0}.spec-item .spec-label{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em}.spec-item .spec-value{font-size:14px;color:var(--text);overflow-wrap:anywhere}button.spec-item{font:inherit;text-align:left;background:none;border:none;padding:0;cursor:pointer;align-items:flex-start}button.spec-item:hover .spec-value{text-decoration:underline}.detail-section{margin-top:1.75rem;padding-top:1.5rem;border-top:.5px solid var(--border)}.detail-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.detail-section-head .section-divider{border:none;padding:0;margin:0}.filter-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center}.filter-row input,.filter-row select{font-size:var(--text-sm);padding:9px 11px;border-radius:var(--radius);border:.5px solid var(--border2);background:var(--bg);color:var(--text);transition:border-color .12s,box-shadow .12s,color .12s}.filter-row input:focus,.filter-row select:focus{outline:none;border-color:var(--text2);box-shadow:0 0 0 3px var(--bg2)}.filter-row input{flex:1;min-width:200px;padding-left:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b9b96' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:15px}.filter-row select{background:var(--bg2);border-color:transparent;color:var(--text2)}.filter-row select:hover{color:var(--text)}.dropdown-wrap{position:relative;display:inline-block}.dropdown-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius-lg);min-width:210px;z-index:100;overflow:hidden;box-shadow:0 4px 16px #0000001f}.dropdown-menu.open{display:block}.dropdown-item{display:block;width:100%;text-align:left;padding:10px 14px;font-size:13px;color:var(--text);background:none;border:none}.dropdown-item:hover{background:var(--bg2)}.dropdown-divider{height:.5px;background:var(--border);margin:4px 0}.tabs{display:flex;gap:4px;border-bottom:.5px solid var(--border);margin-bottom:1.5rem;flex-wrap:wrap}.tab{font-size:var(--text-md);padding:10px 14px 11px;color:var(--text2);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;cursor:pointer;letter-spacing:-.005em;transition:color .12s}.tab.active{color:var(--text);font-weight:var(--font-medium);border-bottom-color:var(--text)}.tab:hover:not(.active){color:var(--text)}.tab-count{font-size:var(--text-xs);color:var(--text3);margin-left:6px;font-weight:400;font-variant-numeric:tabular-nums}.tab.active .tab-count{color:var(--text2)}.tabs .tab:first-child{padding-left:0}.tab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 20px;border-bottom:none;margin-bottom:0}.tab-grid .tab{padding-left:0;padding-right:0;justify-self:start}.drive-list{display:flex;flex-direction:column}.drive-row{display:flex;align-items:center;gap:12px;padding:11px 6px;border-bottom:.5px solid var(--border);cursor:pointer;border-radius:var(--radius);transition:background .12s}.drive-row:last-child{border-bottom:none}.drive-row:hover{background:var(--bg2)}.event-row{display:flex;gap:18px;padding:12px 4px;border-bottom:.5px solid var(--border);align-items:baseline}.event-row:last-child{border-bottom:none}.event-row-click{cursor:pointer;border-radius:var(--radius);transition:background .12s}.event-row-click:hover{background:var(--bg2)}.type-icon{width:36px;height:36px;border-radius:var(--radius);background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.card-meta{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.meta-item{font-size:12px;color:var(--text2)}.meta-item span{color:var(--text)}.card-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:.5px solid var(--border);flex-wrap:wrap}.scan-zone{border:1.5px dashed var(--border2);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;cursor:pointer;margin-bottom:1rem}.scan-zone:hover{border-color:var(--info)}.scan-preview{width:100%;max-height:150px;object-fit:contain;border-radius:var(--radius);border:.5px solid var(--border);margin-top:8px}.doc-card{display:flex;gap:12px;align-items:flex-start}.doc-thumb{width:52px;height:52px;border-radius:var(--radius);flex-shrink:0;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:22px;border:.5px solid var(--border);overflow:hidden;cursor:pointer}.doc-thumb img{width:52px;height:52px;object-fit:cover}.dormant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:1rem}.dormant-card{border-radius:var(--radius);padding:12px 14px;border:.5px solid var(--border);cursor:pointer}.dormant-ok{background:var(--success-bg);border-color:#5dcaa5}.dormant-warn{background:var(--warn-bg);border-color:#ef9f27}.dormant-alert{background:var(--danger-bg);border-color:#f09595}.dormant-days{font-size:22px;font-weight:500;margin:4px 0 2px}.dormant-ok .dormant-days{color:var(--success)}.dormant-warn .dormant-days{color:var(--warn)}.dormant-alert .dormant-days{color:var(--danger)}.save-bar{font-size:12px;color:var(--success);opacity:0;transition:opacity .4s}.save-bar.show{opacity:1}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg2)}.auth-card{background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:380px}.auth-card h1{font-size:20px;font-weight:500;margin-bottom:.25rem}.auth-card p{font-size:13px;color:var(--text2);margin-bottom:1.5rem}.auth-error{font-size:13px;color:var(--danger);background:var(--danger-bg);padding:8px 12px;border-radius:var(--radius);margin-bottom:1rem}.auth-switch{font-size:13px;color:var(--text2);text-align:center;margin-top:1rem}.auth-switch button{background:none;border:none;color:var(--info);font-size:13px;padding:0}.report-body{font-size:13px;line-height:1.6;max-height:60vh;overflow-y:auto;border:.5px solid var(--border);border-radius:var(--radius);padding:1.5rem}.report-body h2{font-size:18px;font-weight:500;margin-bottom:4px}.report-body h3{font-size:13px;font-weight:600;margin:1.25rem 0 6px;padding-bottom:4px;border-bottom:.5px solid var(--border)}.report-body table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:8px}.report-body td{padding:5px 8px;border-bottom:.5px solid var(--border);vertical-align:top}.report-body td:first-child{color:var(--text2);width:36%}.report-sub{font-size:12px;color:var(--text2);margin-bottom:1rem}.section-empty{font-size:12px;color:var(--text3);font-style:italic;margin-bottom:8px}.list-manager{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.list-row{display:flex;align-items:center;gap:8px}.list-row span{font-size:13px;flex:1}.list-empty{font-size:13px;color:var(--text2);font-style:italic;padding:8px 0}.list-add-row{display:flex;gap:8px}.list-add-row input{flex:1;font-size:13px;padding:7px 10px;border-radius:var(--radius);border:.5px solid var(--border2);background:var(--bg);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}[role=button]{cursor:pointer}[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notice{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:var(--space-3);max-width:min(560px,calc(100vw - 24px));padding:10px var(--space-3) 10px var(--space-4);border-radius:var(--radius);font-size:var(--text-13);line-height:1.45;box-shadow:0 6px 24px #00000024;border:.5px solid var(--border2);animation:notice-in .16s ease-out}.notice-error{background:var(--danger-bg);color:var(--danger)}.notice-info{background:var(--info-bg);color:var(--info)}.notice-x{background:none;border:0;color:inherit;opacity:.6;font-size:18px;line-height:1;padding:0 2px}.notice-x:hover{opacity:1}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.app-shell{padding:var(--space-5) var(--space-4)}@media (max-width: 760px){.app-shell{padding:var(--space-4) var(--space-3)}}.field textarea{line-height:1.5}.modal textarea{font-size:var(--text-13)}table.data td>span,table.data td>button{max-width:100%}.card>div[style*=overflow]{border-radius:inherit}@media (max-width: 760px){body{font-size:var(--text-13)}.form-grid{grid-template-columns:1fr;gap:var(--space-3)}.form-grid .form-full{grid-column:auto}.overlay{padding:0;align-items:stretch}.modal{max-width:none;border-radius:0;border:0;padding:var(--space-4);min-height:100vh;max-height:none;margin:0}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;padding:10px var(--space-3) 11px}.tab-grid,.stats-grid{grid-template-columns:1fr 1fr}.spec-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.dormant-grid{grid-template-columns:1fr 1fr}.filter-row{gap:var(--space-2)}.filter-row input,.filter-row select{flex:1 1 100%;min-width:0}.card-banner{height:140px}.hero-wrap{height:220px}.btn{padding:11px var(--space-4)}.btn-sm{padding:8px var(--space-3)}.card-actions{flex-wrap:wrap;gap:var(--space-2)}.notice{left:var(--space-2);right:var(--space-2);transform:none;max-width:none}@keyframes notice-in{0%{opacity:0}to{opacity:1}}}@media (max-width: 420px){.stats-grid,.spec-grid,.dormant-grid,.tab-grid{grid-template-columns:1fr}.doc-card{flex-direction:column}}
