:root{--bg:#f5f7fa;--surface:#fff;--text:#1b2430;--muted:#5f6b7a;--border:#e2e7ee;--accent:#2f5f98;--accent-hover:#254d7d;--accent-text:#fff;--accent-soft:#eaf1fa;--success:#1f7a4d;--success-soft:#e6f4ec;--danger:#b42318;--danger-soft:#fdecea;--warn:#8a5a00;--warn-soft:#fff4d6;--info:#2f5f98;--info-soft:#eaf1fa;--neutral-soft:#eef1f5;--radius:8px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px}@media (prefers-color-scheme:dark){:root{--bg:#12161c;--surface:#1a2029;--text:#e6eaf0;--muted:#9aa5b3;--border:#2c3542;--accent:#7ea7dc;--accent-hover:#9bbce6;--accent-text:#0e1724;--accent-soft:#1d2b3e;--success:#6fcf9a;--success-soft:#16301f;--danger:#ff8a7a;--danger-soft:#3a1f1c;--warn:#f0c060;--warn-soft:#3a2f16;--info:#7ea7dc;--info-soft:#1d2b3e;--neutral-soft:#222a35}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:16px;line-height:1.6}a{color:var(--accent)}h1{margin:0 0 4px;font-size:24px;font-weight:700;line-height:1.35}h2{margin:0;font-size:18px;font-weight:700}.container{max-width:1100px;margin:0 auto;padding:0 16px}main.container{padding-top:24px;padding-bottom:64px}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.header-note,.muted{color:var(--muted)}.header-note{font-size:.85rem}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}.strong{font-weight:600}.page-head,.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.page-head p{margin:0}.section{margin-top:32px}.breadcrumb{color:var(--muted);margin:0 0 8px;font-size:.9rem}.button{border:1px solid var(--accent);background:var(--accent);min-height:40px;color:var(--accent-text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.button:disabled{opacity:.6;cursor:wait}.button-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.button-secondary:hover{background:var(--neutral-soft);border-color:var(--border)}.button-small{min-height:32px;padding:0 12px;font-size:13px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-AVAILABLE{background:var(--success-soft);color:var(--success)}.badge-RENTED{background:var(--info-soft);color:var(--info)}.badge-AWAITING_SANITIZATION{background:var(--warn-soft);color:var(--warn)}.badge-NEEDS_RESANITIZATION,.badge-NEEDS_REPAIR{background:var(--danger-soft);color:var(--danger)}.result-PASS{color:var(--success);font-weight:600}.result-FAIL{color:var(--danger);font-weight:600}.status-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex;margin-top:6px!important}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}.table th{color:var(--muted);background:var(--neutral-soft);font-size:14px;font-weight:600}.table tbody tr:last-child td{border-bottom:none}.table-clickable tbody tr{cursor:pointer}.table-clickable tbody tr:hover{background:var(--neutral-soft)}@media (max-width:720px){.table,.table tbody,.table tr,.table td{width:100%;display:block}.table thead{display:none}.table{background:0 0;border:none}.table tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:6px 0}.table td{text-align:right;border:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;display:flex}.table td:before{content:attr(data-label);color:var(--muted);text-align:left;flex-shrink:0;font-size:.85rem}}.info-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0;padding:16px;display:grid}.info-grid dt{color:var(--muted);font-size:14px}.info-grid dd{margin:2px 0 0;font-weight:600}.info-wide{grid-column:1/-1}.item-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;padding:12px 16px;display:flex}.notice{background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:10px 14px;font-size:.92rem}.form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:640px;margin-top:16px;padding:20px}.field{flex-direction:column;flex:1;gap:6px;min-width:0;margin-bottom:16px;display:flex}.field-row{gap:16px;display:flex}@media (max-width:560px){.field-row{flex-direction:column;gap:0}}.field label{font-size:.95rem;font-weight:600}.field input,.field select,.field textarea,.return-form input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:42px;color:var(--text);font:inherit;border-radius:8px;padding:8px 12px}.field-invalid input,.field-invalid select,.field-invalid textarea,.return-form input[aria-invalid=true]{border-color:var(--danger)}.field-hint{color:var(--muted);margin:0;font-size:.85rem}.field-error{color:var(--danger);margin:0;font-size:.875rem;font-weight:600}.form-message{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin:0 0 16px;padding:10px 14px;font-weight:600}.form-actions{justify-content:flex-end;gap:8px;display:flex}.return-cell{align-items:center;gap:8px;display:inline-flex}.return-form{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:340px;display:flex}.return-form input{width:auto;min-height:32px;padding:4px 8px}.return-form .field-error{text-align:left;flex-basis:100%}.state-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);flex-direction:column;align-items:flex-start;gap:12px;padding:24px;display:flex}.state-box p{margin:0}.state-error{border-color:var(--danger);color:var(--danger)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.item-image{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius);background:var(--neutral-soft);flex-shrink:0;display:block;overflow:hidden}.item-image img{object-fit:cover;width:100%;height:100%;display:block}.item-image-thumb{width:64px}.item-image-preview{width:96px}.item-image-large{width:100%;max-width:260px}.table .col-photo{width:88px;padding-right:0}.name-cell .strong{display:block}.sub-text{color:var(--muted);margin:0;font-size:13px;display:block}.detail-hero{gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(180px,260px) 1fr;align-items:start;display:grid}.detail-summary>p{margin:0 0 var(--space-1)}.detail-summary h1{margin-bottom:var(--space-1)}.detail-summary .sub-text{font-size:15px}.demo-note{color:var(--muted);font-size:12px}.form-section{margin:var(--space-3) 0 var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);font-size:15px}.image-picker{align-items:center;gap:var(--space-2);display:flex}.image-picker select{flex:1}@media (max-width:720px){.detail-hero{padding:var(--space-2);grid-template-columns:1fr}.item-image-large{max-width:none}.table td.col-photo{width:auto;padding:8px 14px 0}.table td.col-photo:before{content:none}.name-cell .sub-text{text-align:right}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.table td{font-size:15px}.sub-text{font-size:14px}.demo-note{font-size:13px}.detail-hero{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:center}.status-panel{margin:var(--space-2) 0 var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-left:4px solid var(--muted);border-radius:var(--radius);background:var(--bg)}.status-panel>p{margin:0}.status-panel-label{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.status-panel .status-line{margin:0 0 var(--space-1)!important}.status-panel .badge{height:32px;padding:0 14px;font-size:16px}.status-panel .badge:before{width:8px;height:8px}.status-panel-AVAILABLE{border-left-color:var(--success)}.status-panel-RENTED{border-left-color:var(--info)}.status-panel-AWAITING_SANITIZATION{border-left-color:var(--warn)}.status-panel-NEEDS_RESANITIZATION,.status-panel-NEEDS_REPAIR{border-left-color:var(--danger)}.due-date{color:var(--info);font-size:16px;margin-bottom:4px!important}.due-date strong{font-size:18px}.due-date-over{color:var(--danger)}.main-nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.main-nav a{color:var(--muted);border-radius:8px;padding:6px 12px;font-weight:600;text-decoration:none}.main-nav a:hover{background:var(--neutral-soft)}.main-nav a.nav-active{background:var(--accent-soft);color:var(--accent)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:20px;text-decoration:none;display:block}.stat-card:hover{border-color:var(--accent)}.stat-label{color:var(--muted);font-size:.95rem;display:block}.stat-number{margin-top:4px;font-size:40px;font-weight:700;line-height:1.2;display:block}.stat-card-available .stat-number{color:var(--success)}.stat-card-rented .stat-number{color:var(--accent)}.reset-box{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);margin-top:40px;padding:16px 20px}.reset-box p{margin:0 0 12px}.button-danger{background:var(--danger);border-color:var(--danger);color:#fff}.button-danger:hover{background:#8f1c12;border-color:#8f1c12}.reset-form{flex-direction:column;gap:8px;max-width:420px;display:flex}.reset-form input{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px}.result-message{background:var(--success-soft);color:var(--success);border-radius:8px;margin-top:12px;padding:10px 14px}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:16px;display:flex}.filter-bar .field{flex:0 160px;margin-bottom:0}.filter-bar .field-search{flex:240px}.filter-bar input,.filter-bar select{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;border-radius:8px;width:100%;padding:0 10px}.badge-pending{background:var(--warn-soft);color:var(--warn);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.banner{border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);margin:16px 0;padding:12px 16px}.banner a{color:inherit;font-weight:600}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tabs button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px}.tabs button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.request-status{border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.request-status-PENDING{background:var(--warn-soft);color:var(--warn)}.request-status-APPROVED{background:var(--success-soft);color:var(--success)}.request-status-CANCELLED{background:var(--neutral-soft);color:var(--muted)}.row-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:720px){.stat-grid{grid-template-columns:1fr}.header-inner{padding-top:8px;padding-bottom:8px}.main-nav{flex:1 0 100%;order:3}.main-nav a{padding:6px 10px}.detail-hero{grid-template-columns:minmax(0,1fr)}}
