:root{--navy-from:#122036;--navy-to:#0c1626;--bg:#f4f6fa;--card:#fff;--border:#e6eaf1;--text:#1f2937;--muted:#8a94a6;--muted-2:#6b7686;--blue:#3b82f6;--blue-dark:#2563eb;--green:#22c55e;--purple:#8b5cf6;--cyan:#06b6d4;--shadow:0 1px 3px #1018280f, 0 1px 2px #1018280a}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit}._topnav_1qn3r_17{z-index:5;color:#fff;justify-content:space-between;align-items:center;padding:20px 40px;display:flex;position:absolute;top:0;left:0;right:0}._brand_1qn3r_22{align-items:center;gap:12px;display:flex}._brand_1qn3r_22 ._logo_1qn3r_23{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}._brand_1qn3r_22 ._name_1qn3r_25{font-size:17px;font-weight:700;line-height:1.05}._brand_1qn3r_22 ._sub_1qn3r_26{color:#93a1ba;font-size:12px}._topnav_1qn3r_17 ._links_1qn3r_27{color:#c7d0de;gap:26px;font-size:14px;display:flex}._topnav_1qn3r_17 ._links_1qn3r_27 a{text-decoration:none}._topnav_1qn3r_17 ._links_1qn3r_27 a:hover{color:#fff}._hero_1qn3r_32{background:radial-gradient(1200px 500px at 70% -10%, #1e3358 0%, transparent 60%), linear-gradient(160deg, var(--navy-from), var(--navy-to));color:#fff;padding:130px 40px 90px;position:relative;overflow:hidden}._hero-grid_1qn3r_37{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;max-width:1140px;margin:0 auto;display:grid}._eyebrow_1qn3r_38{color:#9fc0ff;background:#3b82f624;border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}._hero_1qn3r_32 h1{letter-spacing:-.5px;margin:0 0 18px;font-size:46px;font-weight:800;line-height:1.08}._hero_1qn3r_32 h1 ._accent_1qn3r_42{background:linear-gradient(90deg,#60a5fa,#a78bfa);color:#0000;-webkit-background-clip:text;background-clip:text}._hero_1qn3r_32 p._lede_1qn3r_43{color:#c2ccdb;max-width:520px;margin:0 0 30px;font-size:17px;line-height:1.55}._trust_1qn3r_44{color:#93a1ba;flex-wrap:wrap;gap:22px;margin-top:30px;font-size:13px;display:flex}._trust_1qn3r_44 span{align-items:center;gap:7px;display:flex}._trust_1qn3r_44 svg{color:#4ade80;width:16px;height:16px}._auth_1qn3r_49{background:var(--card);color:var(--text);border-radius:16px;padding:30px 28px;box-shadow:0 24px 60px #00000059}._auth_1qn3r_49 h2{margin:0 0 4px;font-size:20px;font-weight:700}._auth_1qn3r_49 ._sub_1qn3r_26{color:var(--muted-2);margin:0 0 22px;font-size:13.5px}._field_1qn3r_55{margin-bottom:14px}._field_1qn3r_55 label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}._field_1qn3r_55 input{border:1px solid var(--border);width:100%;font:inherit;border-radius:9px;outline:none;padding:11px 13px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}._field_1qn3r_55 input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f624}._pw_1qn3r_63{opacity:0;max-height:0;margin:0;transition:max-height .35s,opacity .3s,margin .35s;overflow:hidden}._pw_1qn3r_63._show_1qn3r_64{opacity:1;max-height:90px;margin-bottom:14px}._btn_1qn3r_65{background:var(--blue-dark);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:15px;font-weight:600;transition:background .15s;display:flex}._btn_1qn3r_65:hover{background:#1d4ed8}._auth_1qn3r_49 ._err_1qn3r_71{color:#dc2626;min-height:18px;margin:10px 0 0;font-size:13px}._auth_1qn3r_49 ._hint_1qn3r_72{color:var(--muted);text-align:center;margin-top:16px;font-size:12px}._features_1qn3r_75{max-width:1140px;margin:0 auto;padding:84px 40px}._features_1qn3r_75 ._head_1qn3r_76{text-align:center;max-width:640px;margin:0 auto 50px}._features_1qn3r_75 ._head_1qn3r_76 h2{letter-spacing:-.4px;margin:0 0 12px;font-size:30px;font-weight:800}._features_1qn3r_75 ._head_1qn3r_76 p{color:var(--muted-2);margin:0;font-size:16px;line-height:1.55}._feat-grid_1qn3r_79{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}._feat_1qn3r_75{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:24px}._feat_1qn3r_75 ._ic_1qn3r_83{border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:16px;display:flex}._feat_1qn3r_75 h3{margin:0 0 8px;font-size:16.5px;font-weight:700}._feat_1qn3r_75 p{color:var(--muted-2);margin:0;font-size:13.5px;line-height:1.55}._ic_1qn3r_83._b_1qn3r_22{color:var(--blue-dark);background:#e8f0fe}._ic_1qn3r_83._g_1qn3r_87{color:var(--green);background:#e7f8ee}._ic_1qn3r_83._p_1qn3r_63{color:var(--purple);background:#f0ecfe}._ic_1qn3r_83._c_1qn3r_89{color:var(--cyan);background:#e3f7fb}footer{background:linear-gradient(160deg, var(--navy-from), var(--navy-to));color:#93a1ba;padding:34px 40px;font-size:13px}._foot-in_1qn3r_96{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1140px;margin:0 auto;display:flex}._foot-in_1qn3r_96 ._brand_1qn3r_22 ._name_1qn3r_25{color:#fff}@media (width<=900px){._hero-grid_1qn3r_37{grid-template-columns:1fr;gap:36px}._hero_1qn3r_32{padding:110px 24px 70px}._hero_1qn3r_32 h1{font-size:36px}._feat-grid_1qn3r_79{grid-template-columns:1fr 1fr}._topnav_1qn3r_17{padding:18px 24px}._topnav_1qn3r_17 ._links_1qn3r_27{display:none}._features_1qn3r_75{padding:60px 24px}}@media (width<=560px){._feat-grid_1qn3r_79{grid-template-columns:1fr}}:root{--sidebar-from:#122036;--sidebar-to:#0c1626;--bg:#f4f6fa;--card:#fff;--border:#e6eaf1;--text:#1f2937;--muted:#8a94a6;--muted-2:#6b7686;--blue:#3b82f6;--blue-dark:#2563eb;--green:#22c55e;--green-soft:#34c77b;--purple:#8b5cf6;--ring-track:#eef1f6;--shadow:0 1px 3px #1018280f, 0 1px 2px #1018280a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}.app{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--sidebar-from), var(--sidebar-to));color:#c7d0de;flex-direction:column;flex-shrink:0;width:232px;height:100vh;padding:22px 16px;transition:width .2s,padding .2s;display:flex;position:sticky;top:0}.sidebar-toggle{border:1px solid var(--border);width:26px;height:26px;box-shadow:var(--shadow);color:#4b5666;cursor:pointer;z-index:20;background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:24px;right:-13px}.sidebar-toggle:hover{color:var(--blue-dark);border-color:#c7d2e3}.sidebar-toggle svg{width:14px;height:14px;transition:transform .2s}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar.collapsed{width:72px;padding-left:14px;padding-right:14px}.sidebar.collapsed .brand{justify-content:center;gap:0;padding-left:0;padding-right:0}.sidebar.collapsed .brand>div:not(.logo){display:none}.sidebar.collapsed .nav a{justify-content:center;gap:0;padding:10px 0;font-size:0}.sidebar.collapsed .refresh{justify-content:center;gap:0;margin-top:0;font-size:0}.sidebar.collapsed .foot .lbl,.sidebar.collapsed .foot #lastUpdated{display:none}.brand{align-items:center;gap:12px;padding:4px 8px 26px;display:flex}.brand .logo{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.brand .name{color:#fff;font-size:16px;font-weight:700;line-height:1.1}.brand .sub{color:#7e8aa0;font-size:12px}.nav{flex-direction:column;gap:4px;display:flex}.nav a{color:#aeb8c9;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav a svg{flex-shrink:0;width:18px;height:18px}.nav a:hover{color:#fff;background:#ffffff0d}.nav a.active{background:var(--blue-dark);color:#fff;box-shadow:0 4px 12px #2563eb59}.sidebar .foot{color:#7e8aa0;margin-top:auto;font-size:12px}.sidebar .foot .lbl{color:#5e687c}.refresh{color:#aeb8c9;cursor:pointer;align-items:center;gap:8px;margin-top:14px;display:flex}.refresh:hover{color:#fff}.main{flex:1;min-width:0;padding:26px 30px 40px}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.topbar h1{margin:0 0 4px;font-size:24px;font-weight:700}.topbar p{color:var(--muted-2);margin:0;font-size:13.5px}.month-select{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:9px 14px;font-weight:600;display:flex}.month-select select{font:inherit;color:var(--text);cursor:pointer;appearance:none;background:0 0;border:none;outline:none;padding-right:4px;font-weight:600}.month-select select option{color:var(--text);font-weight:600}.month-select select optgroup{color:var(--muted-2);font-weight:700}.stats{grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:22px;display:grid}.stat{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);aspect-ratio:1;border-top:3px solid var(--accent);border-radius:14px;flex-direction:column;justify-content:space-between;padding:18px;display:flex}.stat-head{align-items:center;gap:7px;display:flex}.stat-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:9px;height:9px}.stat-label{color:var(--muted-2);font-size:12.5px;font-weight:600;line-height:1.2}.stat-value{color:var(--text);font-size:34px;font-weight:700;line-height:1}.stat-foot{flex-direction:column;gap:2px;display:flex}.stat-prod{color:var(--accent);font-size:12.5px;font-weight:600}.stat-unit{color:var(--muted);font-size:12px}@media (width<=1280px){.stats{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.stats{grid-template-columns:repeat(2,1fr)}}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:20px 22px}.card h3{align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:700;display:flex}.card h3 .info{color:var(--muted);font-weight:400}.grid-main{grid-template-columns:1fr 280px;align-items:start;gap:18px;display:grid}.stack{flex-direction:column;gap:18px;display:flex}table.plan{border-collapse:collapse;width:100%;font-size:13px}table.plan th,table.plan td{text-align:center;white-space:nowrap;padding:11px 8px}table.plan thead th{color:var(--muted-2);border-bottom:1px solid var(--border);font-size:12px;font-weight:600}table.plan th:first-child,table.plan td:first-child{text-align:left;padding-left:4px}table.plan tbody tr{border-bottom:1px solid #f1f3f8}table.plan tbody td.cell[contenteditable]{cursor:text;border-radius:6px}table.plan tbody td.cell[contenteditable]:hover{background:#f7f9fc}table.plan tbody td.cell[contenteditable]:focus{outline:1px solid var(--blue);background:#eef4ff}table.plan .prod{align-items:center;gap:10px;font-weight:600;display:flex}table.plan .swatch{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}table.plan .bar{border-radius:3px;width:4px;height:26px}table.plan .total-col{color:var(--blue-dark);font-weight:700}.hd-select{font:inherit;color:var(--text);border:1px solid var(--border);appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7686' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") right 8px center no-repeat;border-radius:7px;padding:3px 26px 3px 8px;font-weight:600}.hd-select:hover{border-color:#c7d2e3}.hd-select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #3b82f61f}table.plan tr.variant-row td.cell-ro{color:var(--muted-2)}table.plan tr.totals{font-weight:700}table.plan tr.totals td{border-top:2px solid var(--border);padding-top:13px}.table-note{color:var(--muted);align-items:center;gap:6px;margin-top:12px;font-size:12px;display:flex}table.plan td.over-cap{color:#dc2626}table.plan td.over-cap:after{content:" ⚠"}.demand-card{margin-top:18px}.demand-card .head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.pill{border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}.pill.ok{color:#15803d;background:#e7f8ee}.pill.warn{color:#b45309;background:#fff4e5}.pill.bad{color:#dc2626;background:#fdecec}table.plan tr.derived-row td{color:var(--muted-2)}table.plan tr.derived-row td:first-child{color:var(--text);font-weight:600}table.plan tr.demand-total td{border-top:1px solid var(--border);font-weight:700}table.plan td.neg{color:#dc2626}table.plan td.cov-ok{color:#15803d;font-weight:600}table.plan td.cov-warn{color:#b45309;font-weight:600}table.plan td.cov-bad{color:#dc2626;font-weight:600}.legend .dash{border-top:2px dashed var(--amber,#f59e0b);width:16px;height:0}.field{margin-bottom:16px}.field label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field .hint{color:var(--muted);font-size:11.5px;font-weight:400}.input-wrap{border:1px solid var(--border);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:9px 12px;display:flex}.input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61f}.input-wrap svg{color:var(--muted)}.input-wrap input{font:inherit;border:none;outline:none;width:100%;font-weight:600}.btn-save{background:var(--blue-dark);color:#fff;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px;font-size:13.5px;font-weight:600;transition:background .15s;display:flex}.btn-save:hover{background:#1d4ed8}.panel-sub{color:var(--muted-2);margin:-8px 0 16px;font-size:12.5px}.inputs-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.inputs-head h3,.inputs-head .panel-sub{margin:0}.inputs-row{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.inputs-row .field{flex:220px;margin-bottom:0}.inputs-row .btn-save{flex:none;width:auto;height:40px;padding:0 22px}.derived dt{color:var(--muted-2);font-size:12.5px}.derived dd{margin:2px 0 14px;font-size:18px;font-weight:700}.derived dd span{color:var(--muted);font-size:12.5px;font-weight:500}.notes p{color:var(--muted-2);margin:0;font-size:12.5px;line-height:1.5}.charts{grid-template-columns:1.35fr 1fr;gap:18px;margin-top:18px;display:grid}.legend{color:var(--muted-2);gap:18px;margin-bottom:8px;font-size:12.5px;display:flex}.legend .item{align-items:center;gap:7px;display:flex}.legend .dot{border-radius:50%;width:10px;height:10px}.mix{align-items:center;gap:18px;display:flex}.mix-legend{flex:1}.mix-legend .row{align-items:center;gap:10px;padding:7px 0;display:flex}.mix-legend .row .dot{border-radius:50%;width:11px;height:11px}.mix-legend .row .nm{font-weight:600}.mix-legend .row .val{color:var(--muted-2);margin-left:auto}.mix-total{border-top:1px solid var(--border);justify-content:space-between;margin-top:8px;padding-top:12px;font-weight:700;display:flex}.banner{color:#2c4a86;background:#eef4ff;border:1px solid #dbe7ff;border-radius:11px;align-items:center;gap:10px;margin-top:20px;padding:13px 16px;font-size:13px;display:flex}@media (width<=1100px){.kpis{grid-template-columns:repeat(2,1fr)}.grid-main,.charts{grid-template-columns:1fr}}.menu-wrap{margin:0 0 6px;position:relative}.menu-btn{color:#c7d0de;width:100%;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;font-weight:600;transition:background .15s;display:flex}.menu-btn:hover{color:#fff;background:#ffffff17}.menu-btn svg{flex-shrink:0;width:18px;height:18px}.menu-btn .menu-caret{margin-left:auto;transition:transform .15s}.menu-wrap.open .menu-btn .menu-caret{transform:rotate(180deg)}.menu-pop{z-index:40;background:#16263d;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #0006}.menu-pop[hidden]{display:none}.menu-pop a{color:#aeb8c9;white-space:nowrap;border-radius:7px;align-items:center;gap:10px;padding:9px 11px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.menu-pop a svg{width:16px;height:16px}.menu-pop a:hover{color:#fff;background:#ffffff12}.menu-divider{background:#ffffff1a;height:1px;margin:6px 4px}.menu-pop a.logout{color:#f4a3a3}.menu-pop a.logout:hover{color:#fca5a5;background:#ef444424}.sidebar.collapsed .menu-btn{justify-content:center;gap:0;padding:10px 0;font-size:0}.sidebar.collapsed .menu-btn .menu-caret{display:none}.sidebar.collapsed .menu-pop{top:0;left:calc(100% + 8px)}.foot .foot-ts{color:#6b7686;margin-top:2px;font-size:11.5px}.sidebar.collapsed .foot .lbl,.sidebar.collapsed .foot #lastUpdatedBy,.sidebar.collapsed .foot #lastUpdatedAt{display:none}td.cell.edited{box-shadow:inset 3px 0 0 0 var(--amber,#f59e0b);background:#fff8ec;position:relative}td.cell.edited:after{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.save-bar{background:#fff8ec;border:1px solid #f6d99a;border-radius:11px;align-items:center;gap:12px;margin-top:14px;padding:11px 16px;font-size:13px;display:flex}.save-bar[hidden]{display:none}.save-bar .sb-text{color:#92610a;align-items:center;gap:8px;font-weight:600;display:flex}.save-bar .sb-text .sb-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px}.save-bar .sb-actions{gap:8px;margin-left:auto;display:flex}.btn-sm{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600}.btn-sm:hover{background:#f7f9fc}.btn-sm.primary{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}.btn-sm.primary:hover{background:#1d4ed8}.btn-sm:disabled{opacity:.5;cursor:not-allowed}body.readonly td.cell[contenteditable]{cursor:default;background:0 0!important;outline:none!important}body.readonly .save-bar,body.readonly .btn-save{display:none!important}.view-badge{vertical-align:middle;color:#92610a;background:#fff4e5;border:1px solid #f6d99a;border-radius:999px;margin-left:10px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.view-badge[hidden]{display:none}#toast{z-index:100;color:#fff;background:#16263d;border-radius:10px;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:600;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}#toast[hidden]{display:none}#toast:before{content:"✓";color:#4ade80;font-weight:700}.fab{z-index:90;cursor:pointer;background:var(--blue-dark);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .12s,background .15s;display:flex;position:fixed;bottom:26px;right:26px;box-shadow:0 10px 24px #2563eb73}.fab:hover{background:#1d4ed8;transform:translateY(-2px)}.fab svg{width:24px;height:24px}.modal-overlay{z-index:95;background:#0c16268c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal{background:var(--card);border-radius:16px;width:100%;max-width:420px;padding:28px 26px;position:relative;box-shadow:0 24px 60px #00000059}.modal h2{margin:0 0 4px;font-size:19px;font-weight:700}.modal .sub{color:var(--muted-2);margin:0 0 20px;font-size:13.5px}.modal .field{margin-bottom:14px}.modal .field label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.modal .field input,.modal .field textarea{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;border-radius:9px;outline:none;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.modal .field input:focus,.modal .field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f624}.btn-modal{background:var(--blue-dark);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;border-radius:9px;padding:12px;font-size:14.5px;font-weight:600}.btn-modal:hover{background:#1d4ed8}.modal-close{width:30px;height:30px;color:var(--muted-2);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:20px;line-height:1;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--text);background:#f1f3f8}.modal .err{color:#dc2626;min-height:16px;margin:10px 0 0;font-size:13px}#root{min-height:100vh}.spinner{border:3px solid #e6eaf1;border-top-color:#2563eb;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
