*{box-sizing:border-box}body{margin:0;font:15px/1.6 system-ui,sans-serif;color:#203047;background:#f4f6fa}a{color:#245dc1;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.2}h2{font-size:20px}.muted,small{color:#6b778a}.small,small{font-size:12px}small{display:block}.eyebrow,.nav-label{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#748298}.brand{display:flex;gap:12px;align-items:center;font-size:24px;font-weight:750;color:inherit}.brand-mark{display:grid;place-items:center;background:#3576ed;color:white;width:44px;height:44px;border-radius:12px;font-weight:800;font-size:25px}.brand-sub{display:block;font-size:9px;letter-spacing:2px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#15243b;color:#fff;padding:30px 20px;display:flex;flex-direction:column}.sidebar .nav-label{margin:32px 12px 10px}.nav-item{display:flex;gap:12px;color:#b9c7dc;padding:12px;border-radius:8px;margin:4px 0;font-size:14px}.nav-item.active{color:#fff;background:#2c4568}.nav-item span{width:20px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:12px}.sidebar-bottom small{color:#a3b4ca}.avatar{background:#365071;padding:10px;border-radius:10px}.logout{border:0;background:none;color:white;font-size:25px;cursor:pointer}.workspace{margin-left:244px}.topbar{height:72px;border-bottom:1px solid #e0e5ec;background:white;padding:24px 38px;display:flex;justify-content:space-between;font-size:13px;color:#65758b}.slash{padding:0 15px;color:#b0bac8}.version{color:#8c97a7}.main{max-width:1400px;margin:auto;padding:36px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading p:last-child{margin-bottom:0}.button{display:inline-block;background:#2465d5;color:white;padding:11px 18px;border:1px solid transparent;border-radius:7px;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap}.secondary{background:#fff;color:#35475f;border-color:#d9e0eb}.card,.stat-card{background:white;border:1px solid #e1e6ef;border-radius:12px;margin-bottom:24px;overflow:hidden}.card-heading{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f5}.card-heading h2{margin:0}.card-heading .eyebrow{margin-bottom:3px}.inset{padding:26px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat-card{padding:22px;color:inherit}.stat-card>span{color:#6c7a90;font-size:13px}.stat-card strong{display:block;font-size:36px;margin:8px 0}.stat-card small span{float:right}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.empty{text-align:center;padding:40px 20px}.empty p{color:#728097;font-size:14px}.empty-icon{font-size:28px;background:#eff4fe;color:#5284d6;border-radius:12px;width:52px;margin:0 auto 18px}.steps{list-style:none;padding:0}.steps li{display:flex;gap:15px;margin:22px 0}.steps li>span{border-radius:50%;background:#edf3ff;color:#2861c4;width:28px;height:28px;text-align:center}.steps a{font-weight:600;font-size:14px}.notice{padding:16px 20px;background:#eef3fc;border-radius:8px;margin-bottom:22px;font-size:14px}.notice.error{background:#fff0ee;color:#a83227}.notice.success{background:#eaf8ef;color:#267345}.notice.warning{background:#fff8e9;color:#8d6526}.pill{display:inline-block;padding:3px 10px;font-size:11px;border-radius:20px;background:#eef1f5;color:#617087;white-space:nowrap}.pill.blue{background:#eaf1ff;color:#2a65c6}.pill.green{background:#eaf7ef;color:#2a7850}.pill.warning{background:#fff4df;color:#966c25}.field{display:block;margin-bottom:20px}.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.field b{color:#b34b3c}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d8e0eb;border-radius:6px;background:white;color:#233850}input:focus,select:focus,textarea:focus{outline:2px solid #8bb7fb;outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.three{grid-template-columns:2fr 1fr 1fr}.form-card{max-width:960px}.form-actions{display:flex;gap:12px;border-top:1px solid #e9edf3;padding-top:22px;margin-top:10px}.section-title{margin-top:26px}.tabs{display:flex;gap:25px;margin:10px 0 24px;border-bottom:1px solid #dde4ed;overflow:auto;white-space:nowrap}.tabs>a,.tabs>span{padding:10px 0;font-size:13px}.tabs>span{color:#93a0b1}.tabs .selected{border-bottom:2px solid #2465d5;font-weight:600}.project-meta{display:flex;gap:20px;font-size:12px;color:#7b8798;margin-bottom:20px}.details>div{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f5;padding:10px 0;font-size:14px}.details dt{color:#6f7e91}.details dd{margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#8390a1;background:#fafbfd}th,td{padding:16px 24px;border-bottom:1px solid #edf0f5}td{font-size:13px}.table-title{font-weight:650}.num{text-align:right}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.search{width:460px}.search>span{display:none}fieldset{border:0;padding:0;margin:0}.workspace-footer{padding:0 36px 25px;color:#8793a4;font-size:11px;display:flex;justify-content:space-between}.skip{position:absolute;left:-10000px}.skip:focus{left:250px;background:white}.preserve{white-space:pre-wrap}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:#15243b;color:white;padding:55px 70px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-intro h1{font-size:52px;line-height:1.15}.login-intro p{max-width:400px;color:#a9bad1}.intro-foot{font-size:11px;letter-spacing:2px;color:#8297b5}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:100%;max-width:450px;padding:30px}.login-card h2{font-size:26px}.login-card .button{width:100%}.login-card .form-actions{border:0;padding-top:0}.login-note{margin-top:45px;padding-top:20px;border-top:1px solid #dce2ec;color:#8491a5;font-size:11px}.small-button{padding:5px 10px}@media(max-width:900px){.sidebar{width:195px;padding:22px 12px}.workspace{margin-left:195px}.main{padding:24px}.two-grid{grid-template-columns:1fr}.login-intro{padding:40px}.login-intro h1{font-size:38px}}@media(max-width:650px){.sidebar{position:static;width:auto;padding:15px}.sidebar nav{display:flex;overflow:auto}.sidebar .nav-label,.sidebar-bottom{display:none}.nav-item{white-space:nowrap}.workspace{margin:0}.topbar{display:none}.main{padding:20px 14px}.stat-grid{gap:8px}.stat-card{padding:12px}.stat-card>span{font-size:10px}.stat-card small{display:none}.page-heading{align-items:flex-start}h1{font-size:25px}.form-grid,.three{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100vh;padding:10px}.toolbar{display:block}.search{width:100%}.workspace-footer{padding:15px;display:block}.workspace-footer span{display:block}}
.action-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.action-row form{margin:0}.button.danger{background:#fff5f3;border-color:#eed0ca;color:#a34032}details>summary{cursor:pointer;font-weight:600}details[open]>summary{margin-bottom:20px}.restore-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.board-scroll{overflow-x:auto;padding:18px 0}.board{display:table;padding:26px;background:#e3e8ef;border:2px solid #ccd4e0;border-radius:10px;min-width:100%}.rail-label{font-size:12px;font-weight:700;margin:12px 0 5px;color:#596b82}.din-rail{table-layout:fixed;width:auto;border-collapse:collapse;margin-bottom:26px;background:linear-gradient(#f6f8fb 40%,#a5b1c1 40%,#d9e0e8 60%,#f6f8fb 60%)}.din-rail th{padding:3px 0;font-size:10px;background:#d5deeb;border:1px solid #b9c6d7;text-align:center}.din-rail td{padding:0;border:0;min-width:16px;width:16px}.din-rail .drop-row td{height:22px;border:1px solid #d8e0eb}.drop-slot{width:16px;min-width:16px;height:23px;padding:0;border:0;background:#f3f6fb;color:#8c9aaf;font-size:10px;cursor:crosshair}.drop-slot.drop-hover{background:#70acff;color:white}.din-rail .device-row{height:112px}.din-rail .device-cell{vertical-align:middle;padding:3px 1px}.din-device{width:100%;height:106px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-around;background:#fff;border:1px solid #a4b4ca;border-top:6px solid #4682d5;border-radius:4px;cursor:grab;box-shadow:0 2px 3px #162c4c20;padding:3px;font-size:10px;color:#24374e}.din-device strong{font-size:11px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.din-device small{font-size:9px;white-space:nowrap}.device-toggle{background:#283d58;color:#fff;font-size:14px;padding:0 4px;border-radius:2px}.unit-editor{border-top:1px solid #e3e9f1;padding:15px 0}.unit-editor summary span[draggable=true]{cursor:grab;color:#215fc3}.unit-editor form{max-width:600px}.free-module{border-right:1px dashed #d0d9e5!important}.board-scroll+.notice{margin-top:15px}

.product-picker{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.product-picker>.field:last-child{grid-column:1/-1}@media(max-width:650px){.product-picker{grid-template-columns:1fr}}

.board{display:block;min-width:0;width:max-content;max-width:none}.din-rail{table-layout:fixed;border-collapse:collapse}.din-rail col{width:18px}.din-rail td{width:18px;min-width:0;overflow:hidden}.din-rail th{overflow:hidden}.din-rail .device-cell{min-width:0;overflow:hidden}.din-device{min-width:0;max-width:100%}.din-device strong{display:block;min-width:0;width:100%;text-overflow:ellipsis}.din-device small{max-width:100%;overflow:hidden;text-overflow:ellipsis}.drop-slot{width:100%;min-width:0}.rail-drop-active{outline:3px solid #3988e4;outline-offset:2px}.unit-name-row{display:flex;align-items:center;gap:16px;max-width:420px}.unit-name-row>.field{flex:1}.unit-name-row>.button{margin-top:6px}
.din-rail.cols-1{width:36px;min-width:36px;max-width:36px}
.din-rail.cols-2{width:72px;min-width:72px;max-width:72px}
.din-rail.cols-3{width:108px;min-width:108px;max-width:108px}
.din-rail.cols-4{width:144px;min-width:144px;max-width:144px}
.din-rail.cols-5{width:180px;min-width:180px;max-width:180px}
.din-rail.cols-6{width:216px;min-width:216px;max-width:216px}
.din-rail.cols-7{width:252px;min-width:252px;max-width:252px}
.din-rail.cols-8{width:288px;min-width:288px;max-width:288px}
.din-rail.cols-9{width:324px;min-width:324px;max-width:324px}
.din-rail.cols-10{width:360px;min-width:360px;max-width:360px}
.din-rail.cols-11{width:396px;min-width:396px;max-width:396px}
.din-rail.cols-12{width:432px;min-width:432px;max-width:432px}
.din-rail.cols-13{width:468px;min-width:468px;max-width:468px}
.din-rail.cols-14{width:504px;min-width:504px;max-width:504px}
.din-rail.cols-15{width:540px;min-width:540px;max-width:540px}
.din-rail.cols-16{width:576px;min-width:576px;max-width:576px}
.din-rail.cols-17{width:612px;min-width:612px;max-width:612px}
.din-rail.cols-18{width:648px;min-width:648px;max-width:648px}
.din-rail.cols-19{width:684px;min-width:684px;max-width:684px}
.din-rail.cols-20{width:720px;min-width:720px;max-width:720px}
.din-rail.cols-21{width:756px;min-width:756px;max-width:756px}
.din-rail.cols-22{width:792px;min-width:792px;max-width:792px}
.din-rail.cols-23{width:828px;min-width:828px;max-width:828px}
.din-rail.cols-24{width:864px;min-width:864px;max-width:864px}
.din-rail.cols-25{width:900px;min-width:900px;max-width:900px}
.din-rail.cols-26{width:936px;min-width:936px;max-width:936px}
.din-rail.cols-27{width:972px;min-width:972px;max-width:972px}
.din-rail.cols-28{width:1008px;min-width:1008px;max-width:1008px}
.din-rail.cols-29{width:1044px;min-width:1044px;max-width:1044px}
.din-rail.cols-30{width:1080px;min-width:1080px;max-width:1080px}
.din-rail.cols-31{width:1116px;min-width:1116px;max-width:1116px}
.din-rail.cols-32{width:1152px;min-width:1152px;max-width:1152px}
.din-rail.cols-33{width:1188px;min-width:1188px;max-width:1188px}
.din-rail.cols-34{width:1224px;min-width:1224px;max-width:1224px}
.din-rail.cols-35{width:1260px;min-width:1260px;max-width:1260px}
.din-rail.cols-36{width:1296px;min-width:1296px;max-width:1296px}
.din-rail.cols-37{width:1332px;min-width:1332px;max-width:1332px}
.din-rail.cols-38{width:1368px;min-width:1368px;max-width:1368px}
.din-rail.cols-39{width:1404px;min-width:1404px;max-width:1404px}
.din-rail.cols-40{width:1440px;min-width:1440px;max-width:1440px}
.din-rail.cols-41{width:1476px;min-width:1476px;max-width:1476px}
.din-rail.cols-42{width:1512px;min-width:1512px;max-width:1512px}
.din-rail.cols-43{width:1548px;min-width:1548px;max-width:1548px}
.din-rail.cols-44{width:1584px;min-width:1584px;max-width:1584px}
.din-rail.cols-45{width:1620px;min-width:1620px;max-width:1620px}
.din-rail.cols-46{width:1656px;min-width:1656px;max-width:1656px}
.din-rail.cols-47{width:1692px;min-width:1692px;max-width:1692px}
.din-rail.cols-48{width:1728px;min-width:1728px;max-width:1728px}
.din-rail.cols-49{width:1764px;min-width:1764px;max-width:1764px}
.din-rail.cols-50{width:1800px;min-width:1800px;max-width:1800px}
.din-rail.cols-51{width:1836px;min-width:1836px;max-width:1836px}
.din-rail.cols-52{width:1872px;min-width:1872px;max-width:1872px}
.din-rail.cols-53{width:1908px;min-width:1908px;max-width:1908px}
.din-rail.cols-54{width:1944px;min-width:1944px;max-width:1944px}
.din-rail.cols-55{width:1980px;min-width:1980px;max-width:1980px}
.din-rail.cols-56{width:2016px;min-width:2016px;max-width:2016px}
.din-rail.cols-57{width:2052px;min-width:2052px;max-width:2052px}
.din-rail.cols-58{width:2088px;min-width:2088px;max-width:2088px}
.din-rail.cols-59{width:2124px;min-width:2124px;max-width:2124px}
.din-rail.cols-60{width:2160px;min-width:2160px;max-width:2160px}
.din-rail.cols-61{width:2196px;min-width:2196px;max-width:2196px}
.din-rail.cols-62{width:2232px;min-width:2232px;max-width:2232px}
.din-rail.cols-63{width:2268px;min-width:2268px;max-width:2268px}
.din-rail.cols-64{width:2304px;min-width:2304px;max-width:2304px}
.din-rail.cols-65{width:2340px;min-width:2340px;max-width:2340px}
.din-rail.cols-66{width:2376px;min-width:2376px;max-width:2376px}
.din-rail.cols-67{width:2412px;min-width:2412px;max-width:2412px}
.din-rail.cols-68{width:2448px;min-width:2448px;max-width:2448px}
.din-rail.cols-69{width:2484px;min-width:2484px;max-width:2484px}
.din-rail.cols-70{width:2520px;min-width:2520px;max-width:2520px}
.din-rail.cols-71{width:2556px;min-width:2556px;max-width:2556px}
.din-rail.cols-72{width:2592px;min-width:2592px;max-width:2592px}
.din-rail.cols-73{width:2628px;min-width:2628px;max-width:2628px}
.din-rail.cols-74{width:2664px;min-width:2664px;max-width:2664px}
.din-rail.cols-75{width:2700px;min-width:2700px;max-width:2700px}
.din-rail.cols-76{width:2736px;min-width:2736px;max-width:2736px}
.din-rail.cols-77{width:2772px;min-width:2772px;max-width:2772px}
.din-rail.cols-78{width:2808px;min-width:2808px;max-width:2808px}
.din-rail.cols-79{width:2844px;min-width:2844px;max-width:2844px}
.din-rail.cols-80{width:2880px;min-width:2880px;max-width:2880px}
.din-rail.cols-81{width:2916px;min-width:2916px;max-width:2916px}
.din-rail.cols-82{width:2952px;min-width:2952px;max-width:2952px}
.din-rail.cols-83{width:2988px;min-width:2988px;max-width:2988px}
.din-rail.cols-84{width:3024px;min-width:3024px;max-width:3024px}
.din-rail.cols-85{width:3060px;min-width:3060px;max-width:3060px}
.din-rail.cols-86{width:3096px;min-width:3096px;max-width:3096px}
.din-rail.cols-87{width:3132px;min-width:3132px;max-width:3132px}
.din-rail.cols-88{width:3168px;min-width:3168px;max-width:3168px}
.din-rail.cols-89{width:3204px;min-width:3204px;max-width:3204px}
.din-rail.cols-90{width:3240px;min-width:3240px;max-width:3240px}
.din-rail.cols-91{width:3276px;min-width:3276px;max-width:3276px}
.din-rail.cols-92{width:3312px;min-width:3312px;max-width:3312px}
.din-rail.cols-93{width:3348px;min-width:3348px;max-width:3348px}
.din-rail.cols-94{width:3384px;min-width:3384px;max-width:3384px}
.din-rail.cols-95{width:3420px;min-width:3420px;max-width:3420px}
.din-rail.cols-96{width:3456px;min-width:3456px;max-width:3456px}
.din-rail.cols-97{width:3492px;min-width:3492px;max-width:3492px}
.din-rail.cols-98{width:3528px;min-width:3528px;max-width:3528px}
.din-rail.cols-99{width:3564px;min-width:3564px;max-width:3564px}
.din-rail.cols-100{width:3600px;min-width:3600px;max-width:3600px}
.din-rail.cols-101{width:3636px;min-width:3636px;max-width:3636px}
.din-rail.cols-102{width:3672px;min-width:3672px;max-width:3672px}
.din-rail.cols-103{width:3708px;min-width:3708px;max-width:3708px}
.din-rail.cols-104{width:3744px;min-width:3744px;max-width:3744px}
.din-rail.cols-105{width:3780px;min-width:3780px;max-width:3780px}
.din-rail.cols-106{width:3816px;min-width:3816px;max-width:3816px}
.din-rail.cols-107{width:3852px;min-width:3852px;max-width:3852px}
.din-rail.cols-108{width:3888px;min-width:3888px;max-width:3888px}
.din-rail.cols-109{width:3924px;min-width:3924px;max-width:3924px}
.din-rail.cols-110{width:3960px;min-width:3960px;max-width:3960px}
.din-rail.cols-111{width:3996px;min-width:3996px;max-width:3996px}
.din-rail.cols-112{width:4032px;min-width:4032px;max-width:4032px}
.din-rail.cols-113{width:4068px;min-width:4068px;max-width:4068px}
.din-rail.cols-114{width:4104px;min-width:4104px;max-width:4104px}
.din-rail.cols-115{width:4140px;min-width:4140px;max-width:4140px}
.din-rail.cols-116{width:4176px;min-width:4176px;max-width:4176px}
.din-rail.cols-117{width:4212px;min-width:4212px;max-width:4212px}
.din-rail.cols-118{width:4248px;min-width:4248px;max-width:4248px}
.din-rail.cols-119{width:4284px;min-width:4284px;max-width:4284px}
.din-rail.cols-120{width:4320px;min-width:4320px;max-width:4320px}
.din-rail.cols-121{width:4356px;min-width:4356px;max-width:4356px}
.din-rail.cols-122{width:4392px;min-width:4392px;max-width:4392px}
.din-rail.cols-123{width:4428px;min-width:4428px;max-width:4428px}
.din-rail.cols-124{width:4464px;min-width:4464px;max-width:4464px}
.din-rail.cols-125{width:4500px;min-width:4500px;max-width:4500px}
.din-rail.cols-126{width:4536px;min-width:4536px;max-width:4536px}
.din-rail.cols-127{width:4572px;min-width:4572px;max-width:4572px}
.din-rail.cols-128{width:4608px;min-width:4608px;max-width:4608px}
.din-rail.cols-129{width:4644px;min-width:4644px;max-width:4644px}
.din-rail.cols-130{width:4680px;min-width:4680px;max-width:4680px}
.din-rail.cols-131{width:4716px;min-width:4716px;max-width:4716px}
.din-rail.cols-132{width:4752px;min-width:4752px;max-width:4752px}
.din-rail.cols-133{width:4788px;min-width:4788px;max-width:4788px}
.din-rail.cols-134{width:4824px;min-width:4824px;max-width:4824px}
.din-rail.cols-135{width:4860px;min-width:4860px;max-width:4860px}
.din-rail.cols-136{width:4896px;min-width:4896px;max-width:4896px}
.din-rail.cols-137{width:4932px;min-width:4932px;max-width:4932px}
.din-rail.cols-138{width:4968px;min-width:4968px;max-width:4968px}
.din-rail.cols-139{width:5004px;min-width:5004px;max-width:5004px}
.din-rail.cols-140{width:5040px;min-width:5040px;max-width:5040px}
.din-rail.cols-141{width:5076px;min-width:5076px;max-width:5076px}
.din-rail.cols-142{width:5112px;min-width:5112px;max-width:5112px}
.din-rail.cols-143{width:5148px;min-width:5148px;max-width:5148px}
.din-rail.cols-144{width:5184px;min-width:5184px;max-width:5184px}

[data-movable="true"]{cursor:grab;touch-action:none;user-select:none}.unit-drag-active{opacity:.5}.drag-in-progress,.drag-in-progress *{cursor:grabbing!important}

.unit-editor summary[data-movable="true"]{padding:12px 14px;background:#f3f7fd;border:1px solid #dce5f0;border-radius:6px;line-height:1.7;cursor:grab;touch-action:none;user-select:none}.unit-editor summary[data-movable="true"]:hover{background:#e9f1fc;border-color:#a9c5eb}.unit-editor summary[data-movable="true"]:before{content:'⠿';margin-right:12px;color:#6684ac;font-weight:700}.unit-editor summary.unit-drag-active{background:#dceafd;border-color:#4388da}

.quick-place{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:0 14px 16px}.quick-place>.field{margin:0;min-width:150px}.quick-place>.field>span{font-size:11px}.quick-place>.button{height:47px}.unit-card{border-bottom:1px solid #e4eaf2}.unit-card>.unit-editor{border-top:0}.placed-group{margin-top:24px;padding-top:18px;border-top:1px solid #dce5f0}.placed-group>summary{padding:12px;color:#53708e;background:#f5f7fa;border-radius:6px}.placed-group[open]>summary{margin-bottom:12px}#component-list{scroll-margin-top:20px}
