*{box-sizing:border-box}body{margin:0;font:14px Arial,sans-serif;background:#f7f8fb;color:#222337}a{color:#5935f5;text-decoration:none}button,input{font:inherit}button{background:#5935f5;color:white;border:0;border-radius:9px;padding:13px 20px;cursor:pointer;font-weight:600}button:disabled{opacity:.5;cursor:wait}input{width:100%;border:1px solid #dfe1e9;border-radius:9px;padding:13px;background:#fff;margin-top:8px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #a995ff;outline-offset:3px}label{display:block;font-weight:600}p{color:#6c7083;line-height:1.7}h1{font-size:30px;letter-spacing:-1px;margin-bottom:10px}.brand{display:block;font-size:29px;font-weight:900;letter-spacing:-1.5px;color:#5935f5}.brand span{display:block;font-size:10px;letter-spacing:4px;margin-top:7px;color:#888}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login form{width:min(420px,100%);background:white;padding:38px;border:1px solid #e7e8ef;border-radius:20px;box-shadow:0 14px 50px #29325208}.login label{margin:24px 0}.login button{width:100%}.error{color:#b42318}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100dvh}aside{padding:32px 24px;background:white;border-right:1px solid #e7e8ef}aside .selected{display:block;background:#eee9ff;padding:14px;border-radius:10px;margin-top:48px;font-weight:700}aside p{font-size:12px;margin-top:24px}.shell main{min-width:0}header{height:80px;background:white;border-bottom:1px solid #e7e8ef;padding:20px 36px;justify-content:space-between}header,header div{display:flex;align-items:center}header div{gap:20px}section{padding:32px 36px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#5935f5}.stats{display:flex;gap:18px;margin:28px 0}.stats article{background:white;border:1px solid #e7e8ef;border-radius:12px;padding:22px 26px;min-width:220px}.stats span{color:#6c7083}.stats strong{display:block;font-size:32px;margin-top:14px}.search{display:flex;align-items:flex-end;gap:14px;margin:30px 0}.search label{max-width:280px}.search a{padding:12px}.table{overflow:auto;background:white;border:1px solid #e7e8ef;border-radius:12px}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{text-align:left;padding:20px;border-bottom:1px solid #eef0f5}th{color:#72768a;font-weight:500;background:#fafbfe}.secondary{background:white;border:1px solid #dedee8;color:#53566b;font-size:12px;padding:10px 14px}.empty{text-align:center;padding:64px 20px}.empty h2{font-size:18px}nav{display:flex;justify-content:flex-end;gap:20px;margin-top:24px;color:#72768a}@media(max-width:800px){.shell{grid-template-columns:1fr}aside{padding:16px 24px;display:flex;align-items:center;justify-content:space-between}aside p{display:none}aside .selected{margin:0}header{height:auto;padding:16px;gap:12px;flex-wrap:wrap}section{padding:24px 16px}.stats{flex-wrap:wrap}.stats article{flex:1 1;min-width:160px}.search{flex-wrap:wrap}}.side-link{display:block;padding:14px;border-radius:10px}.side-link,aside .side-link.selected{margin-top:12px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.button{display:inline-block;background:#5935f5;color:white;padding:14px 20px;border-radius:9px;font-weight:700}.product-cell{display:flex;gap:16px;align-items:center}.no-photo,.product-cell img{width:64px;height:72px;object-fit:contain;background:#f6f6f8;border-radius:8px}.no-photo{display:grid;place-items:center;font-size:10px;color:#888}small{display:block;color:#777;font-weight:400;margin-top:6px}.badge{display:inline-block;background:#eee9ff;color:#5935f5;padding:6px 10px;border-radius:6px;font-size:12px}select,textarea{font:inherit;width:100%;padding:13px;border:1px solid #dfe1e9;border-radius:9px;background:white;margin-top:8px}textarea{resize:vertical}.product-form{max-width:940px;background:white;padding:28px;border:1px solid #e7e8ef;border-radius:14px;margin-top:24px}.product-form fieldset{border:0;padding:0;margin:0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.wide{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:20px;margin-top:24px}.danger{background:#fff0ed;color:#b42318;border:1px solid #ffc9bf;margin-left:auto}.product-preview{width:180px;height:180px;object-fit:contain;margin-top:24px;border-radius:12px;background:#f8f8fa}.modal-backdrop{position:fixed;inset:0;background:#16132688;display:grid;place-items:center;padding:24px;z-index:20}.confirm-dialog{background:white;padding:28px;border-radius:14px;max-width:460px}.confirm-dialog .danger{margin:0}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}.product-form{padding:20px}.form-actions{flex-wrap:wrap}.search label{max-width:100%}}.confirm-dialog{border:0;width:calc(100% - 48px)}.confirm-dialog::-webkit-backdrop{background:#16132688}.confirm-dialog::backdrop{background:#16132688}.row-actions{display:flex;align-items:center;gap:16px}.notification-dialog{border:0;border-radius:18px;width:min(580px,calc(100% - 32px));max-height:90vh;overflow:auto;padding:28px;white-space:normal}.notification-dialog::-webkit-backdrop{background:#16132688}.notification-dialog::backdrop{background:#16132688}.notification-form fieldset{border:0;padding:0;margin:0}.notification-form label{margin-top:22px}.notification-form textarea:focus-visible{outline:3px solid #a995ff;outline-offset:3px}.notification-description{white-space:normal;max-width:420px}.success{color:#23744e}.notification-notice{padding:14px 16px;border-radius:10px;margin-top:16px}.notification-notice.success{background:#edf8f0;border:1px solid #b9dfc5}.notification-notice.error{background:#fff0ed;border:1px solid #ffc9bf}.brand{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:-.7px;white-space:nowrap}.brand img{flex:none;border-radius:11px}.brand-copy{min-width:0}.brand span{letter-spacing:3px;margin-top:5px}.shell{grid-template-columns:260px minmax(0,1fr)}@media(max-width:800px){.shell{grid-template-columns:1fr}aside{flex-wrap:wrap;gap:12px}}@media(max-width:380px){.login form{padding:24px}.brand{font-size:17px}}