@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwkT9nA2.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwAT9nA2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwgT9nA2.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwcT9nA2.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwsT9nA2.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwoT9nA2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvvYwYL8g.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvmYwYL8g.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvuYwYL8g.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvhYwYL8g.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvtYwYL8g.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvsYwYL8g.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-geist: "Geist", sans-serif;--font-inter: "Inter", sans-serif;--primary: #155E75;--primary-light: rgba(21, 94, 117, .05);--primary-border: rgba(21, 94, 117, .2);--accent: #daf87a;--error: #dc2626;--white: #fff;--black: #171717;--g100: #F5F5F5;--g200: #E5E5E5;--g300: #D4D4D4;--g400: #A3A3A3;--g500: #737373;--g600: #525252}*,*:after,*:before{padding:0;margin:0;box-sizing:border-box}html,body{font-family:var(--font-geist);font-style:normal;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{display:flex;align-items:center;flex-direction:column;background:var(--g100);color:var(--black)}a{color:inherit;text-decoration:none;cursor:pointer}svg{pointer-events:none;flex-shrink:0}h1{font-size:24px;font-weight:600;line-height:32px}h2{font-size:20px;font-weight:600;line-height:28px}h3{font-size:16px;font-weight:500;line-height:24px}p{color:var(--g600);font-size:14px;line-height:20px}code{color:var(--g400);font-weight:400;white-space:nowrap}ul{list-style:none;margin:0}label{color:var(--g500);font-size:14px;font-weight:500;line-height:20px}label.required:after{content:" *";color:#ca3500}span{color:var(--g600);font-size:12px;font-weight:400;line-height:16px}input,select{position:relative;font-family:var(--font-geist);width:100%;height:40px;outline:0;color:var(--black);appearance:none;transition:all .2s ease}input::placeholder,select::placeholder{color:var(--g500)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:var(--black)!important}.input{position:relative;display:flex;align-items:center;padding:0 16px;gap:12px;color:var(--g500);border-radius:8px;background:var(--white);border:1px solid var(--g200);box-shadow:0 1px 2px #0000000d;cursor:text}.input svg{color:var(--g500)}.input input,.input select{padding:0;border:none;color:var(--black);font-size:14px;font-weight:400;line-height:1;background:transparent}.input select{flex:1;cursor:pointer}.input.disabled{background:var(--g100);cursor:not-allowed}.input.disabled input{-webkit-user-select:none;user-select:none;color:var(--g500);cursor:not-allowed}.toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--g500);cursor:pointer;transition:color .2s ease}.toggle:hover{color:var(--g600)}.input.error{border-color:var(--error);color:var(--error)}.input.error svg{color:var(--error)}.input.error input{color:var(--error)}.input.error input::placeholder{color:var(--error)}.select.error select{border-color:var(--error);color:var(--error)}.select.error svg{color:var(--error)}button{font-family:var(--font-geist);display:flex;align-items:center;justify-content:center;width:100%;height:40px;min-height:40px;gap:8px;border-width:1px;border-style:solid;border-color:transparent;border-radius:10px;font-size:14px;font-weight:500;line-height:1;padding:0 24px;cursor:pointer;appearance:none;white-space:nowrap;transition:all .2s ease}button:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--black)}.btn-primary{color:var(--white);background:var(--primary)}.btn-secondary{color:var(--g500);background:var(--g200)}.btn-danger{color:var(--white);background-color:#fb2c36}.btn-warning{color:var(--white);background-color:#f0b100}.btn-outline{border-color:var(--g300);background-color:transparent}.auth{display:flex;align-items:center;width:100vw;max-width:1440px;height:100vh;overflow:hidden}.panel{display:flex;flex-direction:column;width:50%;height:100%;overflow-y:auto;scrollbar-width:none}.panel::-webkit-scrollbar{display:none}.head,.footer{display:flex;align-items:center;padding:24px}.logo{width:auto;height:52px;object-fit:cover}.body{display:flex;align-items:center;justify-content:center;height:100%}.content{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:40px;width:480px;max-width:480px;flex:1;margin:0 auto;padding:24px}.text{display:flex;flex-direction:column;width:100%;gap:8px}.text a{color:var(--primary);text-decoration:underline}.center{text-align:center;align-items:center}form{display:flex;flex-direction:column;width:100%;gap:24px}.field{display:flex;align-items:stretch;flex-direction:column;white-space:nowrap;gap:4px}.action{display:flex;width:auto;margin-left:auto}.action button{flex:none;width:auto;min-height:auto}.actions{display:flex;align-items:center;justify-content:space-between;color:var(--g500);margin-top:4px}.actions a{font-size:14px;transition:color .2s ease}.actions a:hover{color:var(--primary)}.reset{display:flex;align-items:stretch;flex-direction:column;gap:12px}input[type=checkbox]{width:16px;min-width:16px;height:16px;padding:0;border:1px solid var(--g300);border-radius:4px;background:var(--white)}input[type=checkbox]:checked{border-color:var(--primary);background:var(--primary)}input[type=checkbox]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:9px;height:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='8' viewBox='0 0 11 8' fill='none'%3E%3Cpath d='M9.83333 0.5L3.41667 6.91667L0.5 4' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-size:contain;background-repeat:no-repeat}.check{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.select{position:relative;display:flex;align-items:center}.select select{font-family:var(--font-geist);appearance:none;width:100%;height:40px;padding:0 16px;font-size:14px;color:var(--g500);background:var(--white);border:1px solid var(--g200);border-radius:8px;box-shadow:0 1px 2px #0000000d;cursor:pointer;outline:none;transition:border-color .2s ease}.select select:focus{border-color:var(--g200)}.select svg{position:absolute;right:16px;pointer-events:none;color:var(--g500)}.divider{display:flex;align-items:center;width:100%;gap:24px;color:var(--g500);white-space:nowrap}.divider:before,.divider:after{content:"";display:block;width:100%;height:2px;background:var(--g300)}.link{color:var(--primary);font-weight:700}.cover{display:flex;width:50%;height:100%;padding:24px}.cover-img{width:100%;height:100%;border-radius:16px;background-image:url(/cover.png);background-position:left 20%;background-size:cover}.icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--accent);color:var(--primary)}.progress{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;height:auto;gap:8px}.progress .bar{display:flex;align-items:center;justify-content:flex-start;width:100%;height:8px;overflow:hidden;background:var(--g200);border-radius:4px}.progress .bar .current{display:flex;height:100%;background-color:var(--accent)}.progress span{font-size:14px;color:#a1a1a1}.roles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.role{flex:1;display:flex;flex-direction:column;gap:4px;padding:13px 18px;border:0;border-radius:8px;background:var(--white);cursor:pointer;transition:all .2s ease}.role.selected{background:var(--accent);border-color:var(--accent)}.role p{font-weight:500}.row{display:flex;gap:16px}.row .field,.field.sm{flex:1}.field.lg{flex:3}.wrapper{display:flex;flex-direction:column;gap:24px}.wrapper-line{width:100%;height:2px;background:var(--g300)}.btns{display:flex;align-items:center;justify-content:space-between;gap:16px}.btns button{width:auto;min-height:auto;flex:none}.terms{font-size:14px;color:var(--g500)}.terms a{color:var(--primary);font-weight:500}app-auth,app-dashboard{display:contents}.app{display:flex;align-items:stretch;flex-direction:column;width:100%;min-width:1440px;max-width:1440px;padding-left:24px;padding-right:24px;height:100vh}nav{display:flex;align-items:center;justify-content:space-between;padding:8px 0}nav .logo{user-select:none;-webkit-user-select:none;height:38px}nav .control{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background-color:var(--white)}nav .control button{width:20px;height:20px;min-height:20px;padding:0;background-color:transparent}.search{display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--g100);min-width:314px;border-radius:999px}.search svg{color:var(--g400)}.search input{border:none;background:transparent;color:#0a0a0a80;font-size:14px;font-weight:400;line-height:1}.mobile{display:none}main{display:flex;align-items:flex-start;height:auto;gap:24px;padding-top:16px;padding-bottom:24px}section{display:flex;align-items:stretch;flex-direction:column;width:100%}aside{position:sticky;display:flex;align-items:stretch;align-self:flex-start;flex-direction:column;min-width:223px;width:223px;gap:4px;top:16px;padding:16px;border-radius:24px;background:var(--white)}aside span{color:var(--g500);font-weight:500;padding:8px 12px}aside a{display:flex;align-items:center;justify-content:flex-start;gap:8px;color:#404040;font-size:14px;font-weight:400;line-height:1;padding:8px 12px;border-radius:8px;transition:all .2s ease}aside a:hover{background:var(--g100)}aside a.active{background:var(--accent)}aside .logout{margin-top:auto;padding-top:24px}aside .logout:hover{background:transparent}.page{display:flex;align-items:stretch;flex-direction:column;gap:24px;padding:24px;border-radius:24px;background-color:var(--white)}.toolbar{font-family:var(--font-inter);display:flex;align-items:center;gap:12px}.toolbar .search{border-radius:10px;border:1px solid var(--g300);background-color:transparent}.toolbar .combo{display:flex;align-items:center;margin-left:auto;gap:12px}.toolbar .btn-accent{width:auto;margin-left:auto}.toolbar .back{width:28px;height:28px;min-height:28px;border:0;padding:0;background-color:transparent}.toolbar .toolbar-info{flex:1;display:flex;align-items:flex-start;flex-direction:column;gap:4px}.toolbar .toolbar-info h1{display:flex;align-items:center;gap:12px}.toolbar .toolbar-info p{display:flex;align-items:center;color:#737373;gap:8px;line-height:24px}.toolbar .toolbar-info p span{color:#737373}.toolbar .toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.toolbar .toolbar-actions .timestamp{display:flex;align-items:flex-end;flex-direction:column;white-space:nowrap;text-align:right}.filter{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:0 12px;background:var(--white);border:1px solid var(--g300);border-radius:10px;color:var(--g500)}.filter select{border:none;background:none;color:#0a0a0a80;font-size:14px;font-weight:400;line-height:1;cursor:pointer}.filter .chevron{margin-left:auto}.table-loading{display:flex;align-items:center;justify-content:center;width:100%;padding:60px;color:var(--g400);font-size:14px}.table{display:flex;min-height:fit-content;overflow:hidden;border-radius:14px;border:1px solid var(--g200)}.table table{width:100%;border-collapse:collapse;font-size:14px}.table thead{background:var(--g100)}.table thead th{padding:12px 24px;text-align:left;font-weight:600;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--g500);border-bottom:1px solid var(--g200)}.table tbody tr{border-bottom:1px solid var(--g200)}.table tbody tr:last-child{border-bottom:none}.table tbody td{padding:12px 24px;color:var(--g600);font-size:14px;line-height:20px}.table tbody td.td-empty{width:100%;text-align:center;padding:48px 24px}.cell-wrapper{display:flex;align-items:center;gap:12px}.cell-info{display:flex;justify-content:center;flex-direction:column;gap:4px;font-weight:500;line-height:16px;white-space:nowrap}.cell-info span{display:flex;align-items:center;width:100%;gap:8px}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border-width:2px;border-style:dashed;border-color:transparent;border-radius:50%;font-size:14px;font-weight:500;line-height:1;user-select:none;-webkit-user-select:none}.avatar.accent{color:#497d00;background-color:#ecfcca}.avatar.green{color:#007a55;background-color:#d0fae5}.avatar.green-outline{color:#007a55;border-color:#007a55;background-color:transparent}.avatar.blue{color:#0891b2;background-color:#ecfeff}.avatar.purple{color:#9810fa;background-color:#faf5ff}.avatar.orange{color:#ca3500;background-color:#ffedd4}.avatar.gray{color:#0a0a0a;background-color:var(--g100)}.avatar.red{color:#9f0712;background-color:#ffe4e6}.avatar.red-outline{color:#9f0712;border-color:#9f0712;background-color:transparent}.avatar.yellow{color:#f0b100;background-color:#fefce8}.avatar svg{width:20px;height:20px}.cell-status{display:flex;align-items:center;gap:6px}.cell-status span{display:flex;padding:4px 6px;border-radius:8px;font-weight:500}.cell-status.active span{color:#16a34a;background-color:#ecfcca}.cell-status.inactive span{color:#c10007;background-color:#ffe2e2}.step-list{position:relative;list-style:none;margin:0;white-space:nowrap}.step-list .step-item{display:flex;align-items:stretch;gap:12px}.step-list .step-more{cursor:pointer}.step-list .step-more:hover .last{text-decoration:underline}.step-list .step-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.step-list .step-line{width:1px;background:var(--g200);flex:1;margin:4px 0}.step-list .cell-info{padding-bottom:30px}.step-list .cell-info.last{padding-bottom:0}.button-actions{display:flex;align-items:center;justify-content:center;width:auto;gap:8px}.button-actions button{color:#525252;background:none;border:none;width:24px;height:24px;min-height:24px;padding:0;border-radius:4px}.button-actions button svg{width:16px;height:16px}.button-actions button:hover{background-color:transparent}.button-actions button.success,.button-actions button.approve{color:#00c950}.button-actions button.success:hover,.button-actions button.approve:hover{background-color:#f0fdf4}.button-actions button.danger{color:#e7000b}.button-actions button.danger:hover{background-color:#ffe2e2}.button-actions button.warning{color:#f0b100}.button-actions button.warning:hover{background-color:#fefce8}.badge{display:inline-flex;align-items:center;justify-content:center;color:var(--white);gap:6px;padding:4px 6px;border-radius:8px;font-weight:500;white-space:nowrap}.badge-accent{color:#497d00;background-color:#ecfcca}.badge-green{color:#007a55;background:#d0fae5}.badge-gray{color:#404040;background:var(--g100)}.badge-blue{color:#1447e6;background-color:#dbeafe}.badge-red{color:#9f0712;background:#ffe4e6}.badge-orange{color:#ca3500;background:#ffedd4}.badge-purple{color:#8200db;background:#f3e8ff}.badge.machine-active{background:#00c950}.badge.machine-standby{background:#f0b100}.badge.machine-maintenance{background:#ff6900}.badge.machine-error{background:#fb2c36}.badge.machine-stop{background:#6a7282}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px}.pagination button{width:auto}.pagination span{order:-1;font-size:14px}.overlay{position:fixed;display:flex;align-items:center;justify-content:center;inset:0;z-index:666;background:#0006}.modal{background:var(--white);border-radius:14px;width:550px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:flex-start;flex-direction:column;gap:4px;padding:24px;border-bottom:1px solid var(--g200)}.modal-body{padding:24px;display:flex;flex-direction:column;overflow-y:auto;height:auto;max-height:420px;gap:16px}.modal-body .api-key-label{font-size:14px;color:var(--g500)}.modal-body .api-key-value{font-family:monospace;font-size:14px;word-break:break-all}.modal-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;flex-shrink:0;border-top:1px solid var(--g200)}.modal-footer button{width:50%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field{display:flex;align-items:stretch;flex-direction:column;gap:4px}.form-field span{color:var(--g500)}.form-field input,.form-field select{padding:0 12px;border-radius:8px;border:1px solid var(--g300)}.form-field input.error,.form-field select.error{border-color:var(--error);color:var(--error)}.form-field input.error::placeholder,.form-field select.error::placeholder{color:var(--error)}.form-field textarea{font-family:var(--font-geist);padding:10px 12px;border-radius:8px;border:1px solid var(--g300);font-size:14px;color:var(--black);resize:vertical;outline:none}.form-field textarea::placeholder{color:var(--g500)}.form-field .input-password{display:flex;align-items:center;border-radius:8px;border:1px solid var(--g300);padding:0 12px}.form-field .input-password input{flex:1;border:none;padding:0;border-radius:0}.form-field .input-password input.error{border-color:transparent}.form-field .input-password .toggle{color:var(--g400)}.form-field .input-password .toggle:hover{color:var(--g600)}.form-field .input-password:has(input.error){border-color:var(--error);color:var(--error)}.form-field .input-password:has(input.error) .toggle{color:var(--error)}.assign{display:flex;align-items:stretch;flex-direction:column;gap:12px}.plants{display:flex;align-items:stretch;flex-direction:column;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--g200)}.plants .item{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;border:1px solid var(--g200)}.plants .item .cell-info{color:#171717;flex-direction:row;flex-wrap:wrap;column-gap:8px;row-gap:6px}.plants .item .cell-info span{color:#737373}.plants .item input[type=checkbox]{border-color:var(--g200)}.plants .item input[type=checkbox]:checked{background:#007a55;border-color:#007a55}.plants .item .mark{margin-left:auto}.plants .item.selected{background-color:#f7fee7;border-color:#7ccf00}.page-header{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.breadcrumb{display:flex;align-items:center;justify-content:flex-start;white-space:nowrap;gap:8px;font-size:14px;color:#737373}.breadcrumb .back{width:32px;height:32px;min-height:32px;padding:0;border:0;background-color:transparent}.breadcrumb a{display:flex;align-items:center;color:#737373;gap:4px}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .current{color:var(--black);font-weight:500}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:24px;cursor:pointer;border-radius:14px;border:1px solid var(--g200);transition:all .2s ease}.card:hover .card-icon{color:#497d00;border-color:#7ccf00;background-color:#ecfcca}.card:hover{background-color:#f7fee7;border-color:#7ccf00}.card.card-blue:hover .card-icon{border-color:#1447e6;background-color:#dbeafe}.card.card-blue:hover{background-color:#dbeafe;border-color:#1447e6}.card.card-purple:hover .card-icon{border-color:#8200db;background-color:#f3e8ff}.card.card-purple:hover{background-color:#f3e8ff;border-color:#8200db}.card.card-amber:hover .card-icon{border-color:#f0b100;background-color:#fefce8}.card.card-amber:hover{background-color:#fefce8;border-color:#f0b100}.card-icon{display:flex;justify-content:center;align-items:center;color:var(--g600);width:48px;height:48px;border-radius:10px;background:var(--g100);border:1px solid transparent;transition:all .2s ease}.card-icon svg{width:24px;height:24px}.card-icon.icon-blue{background-color:#dbeafe}.card-icon.icon-purple{background-color:#f3e8ff}.card-icon.icon-amber{background-color:#fefce8}.card-body{display:flex;align-items:stretch;flex-direction:column;width:100%;gap:4px}.card-body h3{font-size:18px;font-weight:600;line-height:28px}.card-body .card-code{color:var(--g500);font-size:14px;line-height:20px}.card-footer{display:flex;align-items:center;justify-content:flex-start;width:100%;gap:4px}.card-footer span{color:var(--g600);font-size:14px;line-height:20px}.cards-state{grid-column:1/-1;text-align:center;padding:48px 24px;color:var(--g600);font-size:14px}.stats{display:grid;gap:24px;align-self:stretch;grid-template-columns:repeat(4,1fr)}.stats .stat-item{display:flex;padding:24px;align-items:center;justify-content:space-between;border-radius:14px;border:1px solid var(--g200);background:var(--white);transition:all .2s ease}.stats .stat-item.active{background-color:#fafafa}.stats .stat-item .stat-content{display:flex;align-items:flex-start;flex-direction:column;gap:8px}.stats .stat-item .stat-content .stat-label{color:var(--g500);font-size:14px;line-height:20px}.stats .stat-item .stat-content .stat-value{font-size:30px;font-weight:600;line-height:36px}.stats .stat-item .stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px}.stats .stat-item .stat-icon.blue{color:#155dfc;background-color:#eff6ff}.stats .stat-item .stat-icon.purple{color:#9810fa;background-color:#faf5ff}.stats .stat-item .stat-icon.green{color:#5ea500;background-color:#f7fee7}.stats .stat-item .stat-icon.teal{color:#0891b2;background-color:#ecfeff}.container{display:flex;align-items:stretch;flex-direction:column;gap:16px;padding:24px;border-radius:14px;border:1px solid var(--g200);background:var(--white)}.container h3{font-size:18px;font-weight:600;line-height:28px}.container .chart-data{display:flex;align-items:center;justify-content:space-between}.container .chart-filters{display:flex;gap:8px;font-weight:500}.container .chart-filters span{color:var(--g400);cursor:pointer}.container .chart-filters span.active{color:var(--black);text-decoration:underline}.container canvas{position:relative;height:236px!important}.container .status-timeline{display:flex;flex-direction:column;gap:16px}.container .status-bar{display:flex;height:32px;border-radius:6px;overflow:hidden}.container .status-bar .status-segment{min-width:2px;transition:opacity .2s}.container .status-bar .status-segment:hover{opacity:.8}.container .status-legend{display:flex;flex-wrap:wrap;gap:12px 24px}.container .status-legend-item{display:flex;align-items:center;gap:6px;font-size:13px}.container .status-legend-item .status-dot{width:10px;min-width:10px;height:10px;border-radius:50%}.container .status-legend-item .status-name{font-weight:500;color:var(--black)}.container .status-legend-item .status-duration{color:var(--g500)}.log-container{display:flex;align-items:stretch;flex-direction:column}.log-container .log-item{font-family:monospace;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:6px 0;white-space:nowrap;border-bottom:1px solid var(--g100)}.quick-actions{display:flex;align-items:center;gap:16px}.quick-actions .quick-item{justify-content:flex-start;gap:12px;height:60px;font-size:16px;padding:0 16px;border-width:2px;border-color:var(--g300);background-color:transparent}.status{display:flex;align-items:stretch;flex-direction:column;gap:12px}.status .status-check{display:flex;align-items:center;justify-content:flex-start;height:44px;gap:12px;padding:0 12px;border-radius:10px}.status .status-check .check-item{font-size:14px;font-weight:500;line-height:20px}.status .status-check .check-error{color:inherit;margin-left:auto}.status .status-check.good{color:#7ccf00;background-color:#f7fee7}.status .status-check.problem{color:#f0b100;background-color:#ffedd4}.status .status-check.bad{color:#fb2c36;background-color:#ffe2e2}.welcome{display:flex;align-items:flex-start;flex-direction:column;padding:32px;gap:8px;border-radius:14px;background:linear-gradient(180deg,#083344,#155e75)}.welcome h2{color:var(--white);font-size:24px;font-weight:600;line-height:32px}.welcome p{color:#cffafe;font-size:16px;line-height:24px}.machine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.machine-item{display:flex;align-items:stretch;flex-direction:column;gap:16px;padding:24px;border-radius:14px;border:1px solid var(--g200)}.machine-item h3{display:flex;align-items:center;gap:8px;text-transform:uppercase}.machine-item.item-default{color:var(--g400)}.machine-item.item-red{color:#f54900}.machine-item.item-blue{color:#155dfc}.machine-item.item-purple{color:#9810fa}.machine-item.item-amber{color:#d08700}.machine-item.item-green{color:#5ea500}.machine-item.item-cyan{color:#0891b2}.machine-item .machine-value{display:flex;align-items:center;flex-direction:column;gap:8px}.machine-counter{font-size:36px;font-weight:700;line-height:40px}.toast-container{position:fixed;display:flex;align-items:stretch;flex-direction:column;max-width:480px;width:100%;top:24px;right:24px;gap:16px;z-index:10000}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:10px;border:1px solid;pointer-events:all;animation:toast-in .3s ease-out}.toast label{color:inherit}.toast .toast-icon{width:16px;height:16px;margin:2px 0}.toast .toast-content{display:flex;flex-direction:column;justify-content:flex-start;gap:2px}.toast .toast-close{width:auto;height:auto;padding:0;color:inherit;background:none;border:none;margin-top:2px;margin-left:auto;margin-bottom:2px;transition:opacity .2s}.toast.toast-success{color:#016630;background:#f0fdf4;border-color:#00c950}.toast.toast-success p{color:#008236}.toast.toast-info{color:#193cb8;background:#eff6ff;border-color:#2b7fff}.toast.toast-info p{color:#1447e6}.toast.toast-warning{color:#894b00;background:#fefce8;border-color:#f0b100}.toast.toast-warning p{color:#a65f00}.toast.toast-error{color:#d4183d;background:#fed7d8;border-color:#d4183d}.toast.toast-error p{color:#d4183d}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-row{display:flex;align-items:flex-start}.info-row p{width:180px;color:#737373}.info-row .value{color:var(--g900)}.section-header{display:flex;align-items:center;justify-content:space-between}@media (max-width: 1440px){.app{width:100vw;min-width:100vw;max-width:100vw}nav,main{width:100%}}@media (max-width: 768px){.app{height:auto}nav{position:fixed;top:0;left:0;right:0;height:72px;width:100vw;z-index:666;padding:0 24px;background:color-mix(in oklab,#fff 50%,transparent);backdrop-filter:blur(8px)}main{margin-top:72px;height:auto}.mobile{display:flex}.quick-actions{flex-direction:column}.stats{gap:16px;grid-template-columns:repeat(2,1fr)}.stats .stat-item{align-items:flex-start;flex-direction:column-reverse;gap:16px;padding:16px}.grid{grid-template-columns:repeat(2,1fr)}.cover{display:none}.panel{width:100%}aside{position:fixed;display:flex;top:72px;left:0;right:0;z-index:666;width:100vw;padding:24px;border-radius:0;height:calc(100% - 72px);transition:transform .3s ease;transform:translate(-100%)}aside.open{transform:translate(0)}.toolbar{flex-wrap:wrap}.toolbar-actions button{width:auto;margin-left:0}.toolbar .filter{flex:1}.search{width:100%;min-width:auto}.pagination{justify-content:space-between}.pagination span{order:0}}@media (max-width: 480px){app-login,app-register{width:100%}.content{width:100%;max-width:100%}.row{flex-direction:column}.grid{grid-template-columns:repeat(1,1fr)}}
