
*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}
body{background:#f5f5f2;color:#111}
.topbar{height:64px;background:#0f0f0f;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:3px solid #f59e0b;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:40px;height:40px;background:#f59e0b;color:black;display:grid;place-items:center;font-weight:900;border-radius:8px}
.top-nav{display:flex;gap:8px}
.top-nav a{color:#9ca3af;text-decoration:none;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:700;text-transform:uppercase}
.top-nav a.active{background:#f59e0b;color:black}
.top-actions{display:flex;gap:8px;align-items:center}
.btn{padding:10px 16px;border-radius:10px;border:none;font-weight:700;cursor:pointer;font-size:13px}
.btn-primary{background:#f59e0b;color:black}
.btn-ghost{background:#f3f4f6;color:#111;border:1px solid #e5e7eb}
.filter-select{padding:10px;border-radius:10px;border:1px solid #e5e7eb}
.main-layout{display:flex;min-height:calc(100vh - 64px)}
.group-panel{width:260px;background:white;border-right:1px solid #e5e7eb;padding:16px}
.group-panel h3{font-size:12px;text-transform:uppercase;margin-bottom:8px}
.kpi-mini{margin-top:16px;padding:12px;background:#f9fafb;border-radius:10px}
.kpi-row{display:flex;gap:12px;padding:16px;flex-wrap:wrap}
.kpi{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:12px 16px;min-width:140px}
.kpi.highlight{border-color:#f59e0b;background:#fffbeb}
.kpi label{font-size:10px;text-transform:uppercase;color:#6b7280;font-weight:700}
.kpi .val{font-size:22px;font-weight:900;margin-top:4px}
.kpi .sub{font-size:11px;color:#6b7280}
.content{flex:1;padding:0;overflow:auto}
.table-wrap{background:white;border:1px solid #e5e7eb;border-radius:12px;margin:0 16px;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:12px}
th{padding:12px;text-align:left;background:#f9fafb;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;white-space:nowrap;position:sticky;top:0}
td{padding:10px 12px;border-top:1px solid #f3f4f6;white-space:nowrap}
.badge{padding:4px 10px;border-radius:20px;font-size:10px;font-weight:800}
.icon-btn{width:28px;height:28px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:grid;place-items:center;z-index:20;padding:16px}
.modal.hidden{display:none}
.modal-content{background:white;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow:auto}
.modal-head{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:white}
.close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;font-size:18px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}
.form-grid .field{display:flex;flex-direction:column;gap:6px}
.form-grid .field label{font-size:10px;text-transform:uppercase;font-weight:700;color:#6b7280}
.form-grid .field input,.form-grid .field select{padding:10px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:13px}
.form-section{grid-column:1/-1;margin-top:8px;padding:10px 12px;background:#f9fafb;border-radius:10px;border:1px solid #f3f4f6}
.form-section h4{font-size:12px;text-transform:uppercase;font-weight:800}
.form-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;padding:16px;border-top:1px solid #e5e7eb}
.line-count-box{grid-column:1/-1;border:2px solid #f59e0b;border-radius:12px;padding:12px;background:#fffbeb}
.diameter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.diam-bubble{position:relative;background:white;border:2px solid #e5e7eb;border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer}
.diam-bubble.has-count{border-color:#f59e0b;background:#fffbeb}
.diam-number{font-size:20px;font-weight:900}
.diam-count{position:absolute;top:-6px;right:-6px;background:#0f0f0f;color:#f59e0b;min-width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;border:2px solid #f59e0b}
.diam-count.zero{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb}
.mini-stat{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f3f4f6;font-size:11px}
.export-wrap{position:relative}
.export-menu{position:absolute;top:100%;right:0;background:white;border:1px solid #e5e7eb;border-radius:10px;padding:6px;min-width:140px;box-shadow:0 10px 20px rgba(0,0,0,.1);z-index:5}
.export-menu.hidden{display:none}
.export-menu button{width:100%;text-align:left;padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:8px;font-size:12px;font-weight:600}
.export-menu button:hover{background:#f3f4f6}
