:root{font-family:Inter,Arial,sans-serif;color:#27231f;background:#f5f2ed;--dark:#282622;--paper:#fff;--line:#ded8ce;--muted:#766d63;--accent:#2c2a27}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px}.hidden{display:none!important}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 30px #0000000d}.login{width:min(390px,92vw);display:grid;grid-gap:12px;gap:12px}.login h1{margin:0}.login p{margin-top:-8px;color:var(--muted)}button,input,select,textarea{font:inherit;padding:11px 12px;border-radius:9px;border:1px solid #cfc7bb;min-height:44px}input,select,textarea{width:100%;background:#fff;color:#27231f}textarea{resize:vertical}button{background:var(--accent);color:white;border:0;cursor:pointer;touch-action:manipulation}.secondary{background:#ece7df;color:#2c2a27}.danger{background:#9a2b2b}.error{color:#a32020}#app{min-height:100vh;display:grid;grid-template-columns:230px 1fr}aside{background:var(--dark);color:white;padding:24px 16px;display:flex;flex-direction:column;gap:8px;position:-webkit-sticky;position:sticky;top:0;height:100vh}aside h2{margin:0 0 20px}.nav{background:transparent;text-align:left}.nav.active{background:#ffffff18}.spacer{flex:1 1}main{padding:28px;overflow:auto;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:12px}header h1{margin:0}header p{margin:.25rem 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:14px;gap:14px}.stat strong{display:block;font-size:30px;margin-top:8px}.alert{background:#fff1d8;border:1px solid #e5b768;padding:14px;border-radius:12px;margin-bottom:16px}.grid,.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.toolbar{grid-template-columns:1fr 220px}.table-wrap{overflow-x:auto;border-radius:14px}.table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.table td,.table th{padding:12px;border-bottom:1px solid #eee7dc;text-align:left;vertical-align:top}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#faf8f4}.late{color:#b3261e;font-weight:700}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eee8df;font-size:12px}dialog{width:min(960px,96vw);max-height:92vh;border:0;border-radius:16px;padding:0}dialog::-webkit-backdrop{background:#0008}dialog::backdrop{background:#0008}dialog form{padding:22px}.actions,.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head{position:-webkit-sticky;position:sticky;top:0;background:white;z-index:2;padding-bottom:10px}.dialog-head button{background:transparent;color:#333;font-size:28px;padding:4px 12px}.actions{margin-top:22px;gap:10px;position:-webkit-sticky;position:sticky;bottom:0;background:white;padding-top:12px}.actions span{flex:1 1}.grid label{display:grid;grid-gap:5px;gap:5px;font-size:13px;color:#665f56}.grid .span2{grid-column:span 2}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.file{border:1px solid #ddd4c8;padding:10px;border-radius:10px;background:#fff;overflow:hidden}.file img{width:100%;height:120px;object-fit:cover;border-radius:7px}.file small{display:block;color:#776f66;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file a{display:inline-block;margin:8px 4px 0 0}.file button{min-height:36px;padding:7px 10px}.user-card{display:flex;justify-content:space-between;background:white;padding:14px;border-radius:12px;margin-top:10px}@media(max-width:900px){.gallery,.stats{grid-template-columns:1fr 1fr}}.module-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.module-head p{color:var(--muted);margin:0}.stock-available{color:#1d6b3c;font-weight:700}.stock-linked{color:#9a5a00;font-weight:700}.repair-done{color:#1d6b3c;font-weight:700}.report-stats{margin-bottom:20px}.stat small{margin-top:5px;font-size:12px}.stat small,.table td small{display:block;color:var(--muted)}.table td small{margin-top:3px}@media(max-width:1100px){#app{grid-template-columns:190px 1fr}main{padding:20px}.stats{grid-template-columns:repeat(2,minmax(150px,1fr))}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){body{min-width:760px}#app{grid-template-columns:180px minmax(580px,1fr)}aside{padding:18px 12px}main{padding:18px}.toolbar{grid-template-columns:1fr 180px}dialog{width:min(900px,calc(100vw - 30px))}}