*{box-sizing:border-box}:root{--bulu-bg:#f2f6fd;--bulu-ink:#101729;--bulu-muted:#77839b;--bulu-green:#009f69;--bulu-mint:#e8f9f3;--bulu-line:#e9eef7}body{background:var(--bulu-bg);color:var(--bulu-ink);margin:0;font:14px/1.6 system-ui,-apple-system,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;background:var(--bulu-green);color:#fff;border:0;border-radius:12px;padding:9px 16px}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{color:#354359;background:#e9eef3}input,textarea,select{color:#182537;background:#fff;border:1px solid #d6dee8;border-radius:8px;width:100%;padding:10px}input:focus,textarea:focus{outline:2px solid #81b9af}label{margin:15px 0;font-weight:600;display:block}label input,label textarea,label select{margin-top:6px;font-weight:400;display:block}.check{align-items:center;gap:10px;display:flex}.check input{width:auto;margin:0}fieldset{border:0;margin:0;padding:0}h1{margin:0;font-size:28px}h2{margin:0 0 12px;font-size:19px}.brand{letter-spacing:3px;font-size:23px;font-weight:800}.brand small{letter-spacing:2px;color:#a6babd;font-size:12px;display:block}.layout{grid-template-columns:225px minmax(0,1fr);min-height:100vh;display:grid}aside{color:var(--bulu-ink);border-right:1px solid var(--bulu-line);background:#fff;flex-direction:column;height:100vh;padding:30px 20px;display:flex;position:sticky;top:0}nav{gap:6px;margin-top:36px;display:grid}nav button{text-align:left;color:#61728a;background:0 0}nav button[aria-current=page]{background:var(--bulu-mint);color:#00855a}footer{margin-top:auto;padding:25px 0 0}footer small{color:#adbdc1;margin:4px 0 12px;display:block}main{width:100%;max-width:1500px;padding:35px 42px}header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:2px;color:#637486;margin:0 0 5px;font-size:11px}.cards{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.cards article,section,.table{background:#fff;border:1px solid #e4e9ef;border-radius:22px;margin-bottom:24px;padding:22px}.cards strong{margin-top:14px;font-size:32px;display:block}.cards span,.hint{color:#677589}.table{padding:0;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid #edf0f4;padding:14px 18px}th{color:#647587;background:#f8fafc;font-size:12px}td button{margin-right:6px;padding:6px 10px;font-size:12px}td small{color:#7b8794;margin-top:4px;display:block}.swatch{border-radius:6px;width:18px;height:18px;display:inline-block;box-shadow:inset 0 0 0 1px #0001}details pre{background:#f6f8fa;border-radius:8px;max-width:520px;max-height:280px;padding:12px;font-size:12px;overflow:auto}.error{color:#a43228;background:#fff0ed;border-radius:8px;padding:14px}.empty{text-align:center;color:#788594;padding:30px}.grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.actions{gap:10px;display:flex}.search{gap:10px;max-width:600px;margin:0 0 18px;display:flex}.version{border-top:1px solid #ddd;padding:15px 0}.version button{margin-left:15px}pre{white-space:pre-wrap;overflow-wrap:anywhere}.login{background:var(--bulu-bg);place-items:center;max-width:none;min-height:100vh;display:grid}.login form{background:#fff;border-radius:18px;width:min(440px,100%);padding:38px;box-shadow:0 20px 70px #14302912}.login .brand{color:#176f65}.login h1{margin-top:24px}.login button{width:100%;margin:12px 0}.login small{color:#76838b;display:block}@media (width<=900px){.layout{grid-template-columns:175px 1fr}main{padding:24px 18px}.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media (width<=600px){.layout{display:block}aside{height:auto;padding:15px;position:static}nav{margin-top:10px;display:flex;overflow:auto}nav button{white-space:nowrap}footer{margin:0;padding-top:12px}.cards{gap:8px}main{padding:20px 12px}}nav button{align-items:center;gap:10px;min-height:44px;display:flex}nav button svg{flex:none}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #50cba5}.brand small,footer small{color:#77839b}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.catalog-intro,.catalog-editor{background:#fff;border:1px solid #e4eaf2;border-radius:18px;margin:18px 0;padding:18px 20px}.catalog-intro b{color:#087e63;font-size:20px}.catalog-intro span,.catalog-intro p{color:#66758a}.catalog-intro p{margin:5px 0 0}.catalog-table-wrap{background:#fff;border:1px solid #e4eaf2;border-radius:16px;overflow:auto}.catalog-table{border-collapse:collapse;width:100%;min-width:850px}.catalog-table th,.catalog-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf1f6;padding:10px 12px}.catalog-table th{white-space:nowrap;color:#68778a;background:#f8fafc}.catalog-table td b{white-space:nowrap}.catalog-table td small{text-overflow:ellipsis;white-space:nowrap;color:#8090a0;max-width:270px;display:block;overflow:hidden}.catalog-table tr:last-child td{border-bottom:0}.catalog-thumb,.catalog-icon{object-fit:cover;color:#087e63;background:#ebf8f3;border-radius:10px;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.catalog-status{white-space:nowrap;color:#7b8493;background:#f1f2f4;border-radius:99px;padding:3px 8px}.catalog-status.active{color:#087e63;background:#e3f8ef}.catalog-actions{white-space:nowrap;align-items:center;gap:7px;display:flex}.catalog-actions button{padding:7px 10px}.catalog-editor .grid{align-items:end}.catalog-editor .check{min-height:43px}.module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.module-card{background:#fff;border:1px solid #e4eaf2;border-radius:18px;padding:18px}.module-card>div:first-child{align-items:baseline;gap:10px;display:flex}.module-card b{font-size:19px}.module-card small,.module-card p{color:#6c7a8e}.module-card p{margin:10px 0}.module-card strong{color:#087e63;font-size:25px}.module-card .catalog-actions{flex-wrap:wrap}.record-filters{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.record-filters button{padding:7px 11px}.record-filters button.active{background:#087e63}.record-user-header{background:#fff;border:1px solid #e4eaf2;border-radius:16px;align-items:center;gap:16px;margin:12px 0;padding:15px 18px;display:flex}.record-user-header h2{margin:0}.record-user-header p{color:#68778a;margin:2px 0 0}@media (width<=600px){.record-user-header{flex-direction:column;align-items:flex-start}}
