:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#202720;background:#f6f7f4}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:#28664b;text-decoration:none}.topbar{height:68px;background:#fff;border-bottom:1px solid #e4e9e2;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));gap:20px}.brand{font-weight:800;font-size:19px;color:#1d3025}.topbar nav{display:flex;align-items:center;gap:18px;font-size:14px}.nav-cta{background:#235d43;color:white;padding:10px 14px;border-radius:9px}.container{width:min(1180px,calc(100% - 36px));margin:35px auto;flex:1}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:800;color:#367453}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:11px 15px;background:#245d43;color:white;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}.button:hover{background:#174832}.button.secondary{background:white;color:#284c39;border:1px solid #d9e1d9}.button:disabled{opacity:.5}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:18px 0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}.page-head h1,.form-page h1,.auth-card h1{margin:7px 0;font-size:32px;letter-spacing:-1px}.muted{color:#778078;line-height:1.6}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.stat,.panel,.auth-card,.form-page{background:white;border:1px solid #e5e9e3;border-radius:14px;padding:20px}.stat span{display:block;color:#737e75;font-size:13px}.stat strong{display:block;font-size:30px;margin-top:8px}.danger strong,.danger-text{color:#b83b36}.warning strong{color:#a46a0a}.good strong{color:#28754a}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:white;border:1px solid #e5e9e3;padding:12px;border-radius:12px;margin-bottom:15px}.filters input{flex:1;min-width:180px}.filters input,.filters select,input,select,textarea{font:inherit;border:1px solid #dce2db;border-radius:8px;padding:10px;background:white;color:#243128}.filters select{max-width:180px}.table-wrap{overflow-x:auto;background:white;border:1px solid #e5e9e3;border-radius:13px}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{text-align:left;color:#778078;font-size:11px;text-transform:uppercase;background:#fafbf9}th,td{padding:14px;border-bottom:1px solid #edf0eb}td small{display:block;color:#879087;margin-top:5px}tr:last-child td{border:0}.pill{display:inline-block;border-radius:100px;background:#edf1ed;color:#59655b;padding:5px 8px;font-size:11px;font-weight:700}.pill.high,.pill.expired{background:#fde8e5;color:#a52c27}.pill.critical,.pill.expiring_soon{background:#fff0d5;color:#8a5908}.pill.low,.pill.valid{background:#e2f4e7;color:#286b3f}.pill.upcoming{background:#e5efff;color:#315b96}.text-button,.nav-button{border:0;background:none;cursor:pointer;font:inherit}.inline{display:inline}.footnote,small{font-size:12px;color:#838c84}.auth-card{width:min(430px,100%);margin:25px auto;padding:30px}.stack{display:flex;flex-direction:column;gap:15px}.stack label,.product-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.stack input,.product-form input,.product-form select,.product-form textarea{width:100%;font-weight:400}.form-page{max-width:820px;margin:auto;padding:30px}.product-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.full{grid-column:1/-1}.alert{padding:12px;border:1px solid #f0c7c2;background:#fff0ee;color:#a52c27;border-radius:9px;margin-bottom:16px}.empty{text-align:center;color:#7e877f;padding:25px}.scan-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}.panel{margin-bottom:16px}.panel h2{margin-top:0;font-size:19px}.camera-box{position:relative;background:#151a17;aspect-ratio:16/10;border-radius:11px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#d5ded7}.camera-box video,.camera-box canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.camera-box video{display:none;z-index:1}.camera-box canvas{z-index:2;pointer-events:none}.camera-box.active video{display:block}.camera-box.active #cameraPlaceholder{display:none}.result-text{background:#f6f8f5;border-radius:9px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:220px;overflow:auto}.candidate-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.candidate{font-size:12px;border:1px solid #dce5da;background:#f4f8f3;border-radius:8px;padding:7px 9px}.history-list{display:grid;gap:12px}.history-item{background:white;border:1px solid #e5e9e3;border-radius:13px;padding:20px}.history-item h3{display:inline-block;margin:0 0 8px 8px;font-size:14px}.history-item p{font-size:13px;color:#667167;line-height:1.6;overflow-wrap:anywhere}footer{text-align:center;padding:22px;color:#8b948b;font-size:12px;border-top:1px solid #e6eae4}@media(max-width:850px){.stat-grid{grid-template-columns:repeat(2,1fr)}.scan-layout{grid-template-columns:1fr}.filters input{flex-basis:100%}.filters select{flex:1;max-width:none}.page-head{align-items:flex-start;flex-direction:column}.container{margin:24px auto}.product-form{grid-template-columns:1fr}.full{grid-column:auto}.topbar{padding:0 14px}.topbar nav{gap:10px}}.scan-page{max-width:760px;margin:auto}.saved-note{background:#e2f4e7;color:#286b3f;border-radius:9px;padding:11px 14px;margin-bottom:14px;font-size:14px;font-weight:600}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.upload-button{position:relative;cursor:pointer}.upload-button:focus-within{outline:2px solid #245d43;outline-offset:2px}.review-preview{width:100%;max-height:260px;object-fit:contain;background:#151a17;border-radius:11px;display:block;margin-bottom:14px}.date-field small{font-weight:400;line-height:1.45}.date-field.check input{border-color:#d99a22;background:#fffaf0}.date-field.check small{color:#8a5908}.date-field.ok small{color:#286b3f}.choice-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:13px;font-weight:400}.chip{border:1px solid #cfd9cf;background:white;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer;color:#243128}.chip:hover{background:#f4f8f3}.chip.chosen{background:#245d43;border-color:#245d43;color:white}.notice{background:#fff6e4;color:#7a4f06;border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.5}.life-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#f6f8f5;border-radius:11px;padding:14px}.life-summary[hidden]{display:none}.life-summary span{display:block;font-size:12px;color:#737e75;font-weight:400}.life-summary strong{display:block;font-size:18px;margin-top:4px;font-weight:700}.life-bar{grid-column:1/-1;height:7px;background:#e3e8e2;border-radius:6px;overflow:hidden}.life-bar.small{height:4px;width:90px;margin-top:5px}.life-bar i{display:block;height:100%;background:#2f8a58}.life-bar i.expired{background:#b83b36}.life-bar i.critical,.life-bar i.expiring_soon{background:#d99a22}.life-bar i.upcoming{background:#4b78b8}details summary{cursor:pointer;font-size:13px;font-weight:700}.more-details{border-top:1px solid #edf0eb;padding-top:14px}.more-details .product-form{margin-top:14px}[hidden]{display:none!important}@media(max-width:850px){.life-summary{grid-template-columns:repeat(2,1fr)}.review-actions .button{flex:1}}
.product-cell{display:flex;align-items:center;gap:10px}.thumb{width:44px;height:44px;flex:none;border-radius:8px;object-fit:cover;background:#edf1ed;color:#6c776d;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.photo-current{display:flex;align-items:center;gap:10px;font-weight:400}.check-label{display:flex;align-items:center;gap:6px}.product-form .check-label input{width:auto}.review-item{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start;border-top:1px solid #edf0eb;padding-top:12px}.review-item img{width:100%;border-radius:8px;display:block}@media(max-width:850px){.review-item{grid-template-columns:1fr}}
.link-text{color:#28664b;font-size:13px;padding:0}.danger-text{font-size:13px;padding:0}.tabs{display:flex;gap:6px;margin-bottom:12px}.tab{padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;color:#59655b}.tab.current{background:#245d43;color:white}.stat-grid.three{grid-template-columns:repeat(3,1fr)}.page-notice{margin-bottom:14px}@media(max-width:850px){.stat-grid.three{grid-template-columns:repeat(3,1fr)}}
.inline-note{color:#778078;font-size:12px}.role-form select{padding:6px 8px;font-size:13px}.invite-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.invite-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}.invite-link{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:13px}.invite-ready{border-color:#245d43}.role-help{margin:14px 0 0;padding-left:18px;font-size:13px;color:#667167;line-height:1.7}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.activity-list{display:grid;gap:8px}.activity-item{display:flex;justify-content:space-between;gap:14px;background:white;border:1px solid #e5e9e3;border-radius:11px;padding:13px 15px;font-size:14px}.activity-item small{display:block;margin-top:4px;overflow-wrap:anywhere}.activity-item time{color:#838c84;font-size:12px;white-space:nowrap}.similar-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.similar-row+.similar-row{margin-top:8px}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.topbar{min-height:68px;height:auto;padding-block:8px}@media(max-width:600px){.activity-item{flex-direction:column;gap:6px}}
.invite-ready{border:1px solid #245d43;border-radius:11px;padding:14px;margin-bottom:16px;background:#f4f8f3}.invite-copy{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.invite-copy .invite-link{flex:1;min-width:200px;width:auto}
.danger-zone{border-color:#f0c7c2}.button.delete-button{background:#b83b36}.button.delete-button:hover{background:#952d29}
.row-actions{display:flex;gap:8px;align-items:center}.row-actions form{display:contents}.row-button{display:inline-flex;align-items:center;border:1px solid #d9e1d9;background:white;color:#284c39;border-radius:7px;padding:6px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.row-button:hover{background:#f4f8f3}.row-danger{color:#b83b36;border-color:#f0c7c2}.row-danger:hover{background:#fff0ee}.delete-product{border-top:1px solid #edf0eb;margin-top:22px;padding-top:6px}.button.delete-outline{color:#b83b36;border-color:#f0c7c2}
.row-apart{margin-left:14px}
.card-table td small{white-space:normal}.card-table .product-cell>div{min-width:150px;max-width:280px}.card-table td{white-space:nowrap}.card-table td:first-child{white-space:normal}@media(max-width:1000px){.card-table thead{display:none}.card-table,.card-table tbody,.card-table tr,.card-table td{display:block;width:100%}.card-table tr{padding:12px 14px;border-bottom:1px solid #edf0eb}.card-table tr:last-child{border-bottom:0}.card-table td{border:0;padding:5px 0;white-space:normal}.card-table td[data-label]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}.card-table td[data-label]::before{content:attr(data-label);color:#778078;font-size:12px}.card-table td[data-label] small{margin-top:0;flex-basis:100%;text-align:right}.card-table .life-bar.small{margin-left:auto}.card-table .product-cell>div{max-width:none}.row-actions{flex-wrap:wrap;margin-top:6px}.row-apart{margin-left:auto}}
@media(max-width:500px){.stat-grid.three{grid-template-columns:1fr}}
