:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#283a33;background:#f6f7f3;font-synthesis:none;font-weight:400;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,pre:focus-visible,summary:focus-visible{outline:3px solid #86b295;outline-offset:4px}.layout{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;padding:34px 22px;background:#f0f2eb;border-right:1px solid #dfe4d9;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#263f31;font-size:24px;letter-spacing:-1px;font-weight:750;padding-left:6px}.brand-icon{background:#315843;color:#f6f8ee;width:35px;height:38px;display:grid;place-items:center;border-radius:10px;font-size:25px;font-family:Georgia,serif;font-weight:400}.brand-vpn{font-weight:400;color:#85937e;margin-left:3px}.workspace-label{font-size:9px;font-weight:650;letter-spacing:1.3px;color:#8c9588;margin:61px 8px 16px}.nav-active{display:flex;align-items:center;gap:11px;background:#e1e8da;border:1px solid #d5dfcb;border-radius:7px;padding:12px;font-size:12px;font-weight:600;color:#3c5840}.nav-symbol{font-size:19px}.nav-count{margin-left:auto;color:#7f9479;font-size:10px}.sidebar-note{margin:35px 8px 0;font-size:11px;color:#60745e}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#77a072;margin-right:7px;vertical-align:middle}.sidebar-note p{font-size:11px;line-height:1.7;color:#92998d;margin-left:13px}.sidebar-footer{margin-top:auto;padding:60px 8px 0;color:#9aa090;font-size:11px;line-height:1.7}main{flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid #e3e7de;display:flex;align-items:center;justify-content:space-between;padding:0 46px;font-size:11px;color:#7c877b}.breadcrumb{padding:0 12px;color:#b4bcad}.local-badge{border:1px solid #dfe5d7;background:#eef2e9;border-radius:20px;padding:7px 12px;font-size:10px;color:#718268}.content{max-width:1240px;padding:45px 46px 0;margin:0 auto}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.6px;color:#8c9883}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:34px;letter-spacing:-1.3px;font-weight:600;line-height:1.2;margin:16px 0 11px}.subtitle{font-size:13px;color:#8b9488;margin:0}.version{font-size:9px;letter-spacing:1px;border:1px solid #dfe5d7;border-radius:4px;padding:7px 9px;color:#929d87;white-space:nowrap}.flow-strip{display:flex;align-items:center;gap:20px;margin:30px 0 26px;padding:16px 0;border-top:1px solid #e1e6da;border-bottom:1px solid #e1e6da;color:#819078;font-size:11px}.flow-strip b{font-size:9px;font-weight:500;margin-right:9px;color:#a6b09c}.flow-arrow{color:#b5bfab;font-size:15px}.builder{display:grid;grid-template-columns:minmax(320px,1fr) minmax(330px,1.07fr);gap:24px;align-items:stretch}.form-panel,.result-panel{border:1px solid #dce3d5;border-radius:12px;padding:25px;background:#fffefa;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.panel-heading h2{font-size:14px;letter-spacing:-.2px;font-weight:600;margin:0}.small-tag{border:1px solid #e3e7dc;background:#f4f6ef;color:#91a082;font-size:8px;letter-spacing:1px;padding:5px 7px;border-radius:4px}.small-tag.ready{background:#e6f1e2;color:#507b47}.field-label{display:block;font-size:11px;font-weight:600;margin-bottom:9px}.text-input{display:block;width:100%;border:1px solid #dbe2d3;border-radius:6px;background:#fff;padding:12px;color:#3c4d3e;font-size:12px;box-shadow:0 1px 2px #233a2704}.field-help{font-size:10px;line-height:1.7;color:#929b8a;margin:8px 0 0}.section-label{display:flex;align-items:center;gap:8px;margin:27px 0 12px}.section-label h3{font-size:11px;font-weight:600;margin:0}.step{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#edf1e6;color:#839676;font-size:9px}.required,.optional{margin-left:auto;font-size:7px;letter-spacing:.6px;color:#a0aa94}.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:193px;border:1px dashed #b9c9aa;border-radius:8px;background:#f6f8f0;padding:23px 10px;cursor:pointer;overflow:hidden;text-align:center}.upload-zone:focus-within,.template-picker:focus-within{outline:3px solid #86b295;outline-offset:3px}.upload-zone.selected{background:#eff5e9;border-color:#91b381}.upload-icon{width:35px;height:35px;display:grid;place-items:center;font-size:25px;font-weight:300;border:1px solid #d4dfc7;border-radius:9px;color:#6c8d57;background:#eef3e4;margin-bottom:13px}.upload-zone strong{font-size:11px;font-weight:550;max-width:100%;overflow-wrap:anywhere}.upload-zone>span:not(.upload-icon):not(.file-button){font-size:9px;color:#96a188;margin-top:7px}.file-button{display:block;font-size:10px;padding:8px 12px;border:1px solid #d7e0cd;background:#fffefa;border-radius:5px;color:#647957;margin-top:17px}.upload-zone input,.template-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.template-row{display:flex;gap:7px;align-items:stretch}.template-picker{position:relative;display:flex;align-items:center;gap:11px;padding:14px 12px;border:1px solid #e1e6d8;border-radius:7px;background:#fffefa;cursor:pointer;min-width:0;flex:1}.document-icon{font-size:22px;color:#96a584}.template-picker>span:nth-child(2){min-width:0}.template-picker strong{display:block;font-size:10px;font-weight:550;overflow-wrap:anywhere}.template-picker small{display:block;font-size:9px;color:#9ba58e;margin-top:5px}.plus{margin-left:auto;color:#91a080;font-size:18px}.remove-template{border:1px solid #e1e6d8;border-radius:6px;background:#f7f8f2;color:#80916f;padding:0 10px;font-size:20px}.template-help{font-size:9px;line-height:1.8;margin-top:9px}.generate-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:24px;padding:14px 17px;border:1px solid #345d43;border-radius:7px;background:#375c45;color:#f9fbf4;font-size:11px;font-weight:550}.generate-button:not(:disabled):hover,.download-button:hover{background:#284d35}.privacy-note{font-size:9px;color:#929e86;text-align:center;margin:12px 0 0}.privacy-note span{font-size:13px;margin-right:3px}.result-panel{display:flex;flex-direction:column;background:#f9faf5}.result-panel .panel-heading{margin-bottom:20px}.empty-result{flex:1;min-height:428px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.empty-art{position:relative;width:84px;height:105px;background:#f1f4e9;border:1px solid #dbe4cb;border-radius:9px 23px 9px 9px;margin-bottom:27px;transform:rotate(-5deg);box-shadow:7px 8px #edf0e5}.file-fold{position:absolute;right:0;top:0;width:22px;height:22px;background:#e1e8d5;border-radius:0 20px 0 5px}.code-mark{display:block;margin-top:23px;font-family:monospace;color:#92a97c;font-size:23px;letter-spacing:3px}.file-lines{display:block;color:#d3dec2;line-height:.9;font-size:10px;text-align:left;margin-left:20px;margin-top:10px}.art-badge{position:absolute;bottom:-7px;right:-11px;background:#dfead3;border:4px solid #f9faf5;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#74925f;font-size:13px}.empty-result h3{font-size:14px;font-weight:550;margin:0 0 11px;color:#687b5b}.empty-result p{font-size:11px;line-height:1.9;color:#a0a993;margin:0}.empty-labels{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:8px;letter-spacing:.9px;color:#a1ae91}.empty-labels span:first-child,.empty-labels span:last-child{padding:6px 8px;border:1px solid #e4e9db;border-radius:4px}.result-footer{font-size:9px;line-height:1.8;color:#a0aa94;border-top:1px solid #e4e9dc;padding-top:15px;margin-top:auto}.result-footer>span:first-child{margin-right:6px;color:#92a47f}.footer-indent{padding-left:16px}.page-footer{display:flex;justify-content:space-between;gap:15px;padding:25px 0 20px;color:#a3ad96;font-size:9px}.page-footer>span:first-child{font-size:8px;letter-spacing:1.4px}.result-summary{display:flex;gap:12px;align-items:center;margin-bottom:18px}.success-icon{width:33px;height:33px;border:1px solid #d7e3cc;background:#e9f1e2;color:#71915e;border-radius:9px;display:grid;place-items:center}.result-summary strong{font-size:12px;font-weight:550}.result-summary p{font-size:9px;color:#919d84;margin:5px 0 0}.result-format{margin-left:auto;font-size:10px;color:#9aab88}.code-header{display:flex;align-items:center;justify-content:space-between;background:#263c31;color:#bbccba;font-size:9px;padding:12px;border:1px solid #263c31;border-radius:7px 7px 0 0;gap:10px}.code-header label{font-size:9px;display:flex;align-items:center;gap:4px;color:#9fb39b;cursor:pointer}.code-header input{accent-color:#89ac77;margin:0}.code-preview{margin:0;border-radius:0 0 7px 7px;background:#1f3229;color:#c0d6b3;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.8;height:310px;overflow:auto;white-space:pre;tab-size:2}.result-actions{display:flex;gap:9px;margin-top:14px}.download-button,.copy-button{font-size:10px;border-radius:6px;padding:11px 12px;flex:1}.download-button{background:#375c45;color:#f6faee;border:1px solid #375c45}.copy-button{background:#fffefa;border:1px solid #d7e0ce;color:#6f835f}.warnings{margin:18px 0 17px;font-size:10px;color:#7c8e6e;line-height:1.7}.warnings summary{cursor:pointer}.warnings summary>span{display:inline-grid;place-items:center;background:#e9eede;border-radius:50%;height:16px;min-width:16px;font-size:8px;margin-left:5px}.warnings ul{padding-left:17px;font-size:10px}.warnings li+li{margin-top:8px}.error-message{font-size:11px;line-height:1.7;background:#fff0e9;color:#9b5142;border:1px solid #ebd2c6;padding:11px;border-radius:6px;margin-top:15px;overflow-wrap:anywhere}@media(min-width:1500px){.content{padding-top:60px}}@media(max-width:1100px){.sidebar{width:190px;padding:30px 15px}.content{padding:32px 25px 0}.topbar{padding:0 25px}.builder{gap:16px;grid-template-columns:minmax(270px,1fr) minmax(290px,1fr)}.form-panel,.result-panel{padding:20px}h1{font-size:30px}.version{display:none}}@media(max-width:850px){.sidebar{width:72px;padding:25px 12px;align-items:center}.brand{padding:0}.brand>span:last-child,.workspace-label,.nav-active,.sidebar-note,.sidebar-footer{display:none}.content{padding:30px 22px 0}.builder{grid-template-columns:1fr}.empty-result{min-height:330px}.page-heading h1{font-size:29px}.flow-strip{gap:12px;font-size:10px}.flow-strip b{margin-right:5px}.page-footer{font-size:8px}}@media(max-width:480px){.sidebar{display:none}.topbar{height:58px;padding:0 18px}.content{padding:25px 16px 0}h1{font-size:28px!important}.subtitle{font-size:11px}.flow-strip{gap:8px;font-size:9px}.flow-arrow{font-size:12px}.form-panel,.result-panel{padding:20px}.page-footer>span:last-child{max-width:220px;text-align:right;line-height:1.6}}.entry-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at top,#e8efdf,#f6f7f3 65%)}.entry-card{width:100%;max-width:460px;border:1px solid #dce3d5;border-radius:18px;background:#fffefa;padding:45px}.entry-card .brand{margin-bottom:55px}.entry-card h1{font-size:36px;line-height:1.2}.entry-card p{color:#819078;line-height:1.9;font-size:13px}.entry-card small{display:block;margin-top:18px;font-size:10px;color:#96a188}.entry-login{display:flex!important;justify-content:space-between;margin-top:30px}.portal-primary,.portal-secondary,.portal-small{display:inline-block;text-align:center;text-decoration:none;border-radius:6px;font-size:11px;padding:11px 14px;line-height:1.4}.portal-primary{background:#375c45;color:#fff;border:1px solid #375c45}.portal-secondary{background:#fffefa;color:#52694b;border:1px solid #d6dfcb}.portal-small{padding:7px 9px;color:#6c825b;background:#f4f7ed;border:1px solid #dce4d2;font-size:10px}.portal-nav{display:flex;gap:12px;align-items:center;border:1px solid transparent;background:transparent;text-align:left;color:#7b8a72;padding:13px 12px;border-radius:7px;margin-bottom:7px;font-size:12px}.portal-nav.chosen{background:#e1e8da;border-color:#d5dfcb;color:#3c5840}.portal-account{margin-top:auto;padding:45px 7px 0}.portal-account strong,.portal-account small{display:block;overflow-wrap:anywhere}.portal-account strong{font-size:12px;color:#5e7455}.portal-account small{font-size:10px;color:#99a28d;margin-top:7px}.portal-account button{margin-top:18px;border:0;background:none;color:#7c8f6b;font-size:10px;padding:0}.portal-content{padding-top:35px}.portal-notice{border:1px solid #d5e3c8;background:#edf5e7;color:#5c7950;font-size:12px;line-height:1.7;padding:13px;border-radius:7px;margin-top:20px}.portal-columns{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(320px,1.5fr);gap:22px;margin-top:30px;align-items:start}.portal-card{border:1px solid #dce3d5;border-radius:11px;background:#fffefa;padding:23px;min-width:0}.portal-card h2{font-size:15px;font-weight:600;margin:0}.portal-card h3{font-size:12px;font-weight:600;margin:0 0 14px}.portal-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.portal-card-heading .eyebrow{display:block;margin-bottom:9px}.person-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:7px;padding:12px 9px;margin-bottom:6px;color:#536b48}.person-row.selected{background:#edf3e5;border-color:#d9e3cd}.person-row strong,.person-row small{display:block;overflow-wrap:anywhere}.person-row strong{font-size:12px;font-weight:550}.person-row small{font-size:9px;color:#94a184;margin-top:6px}.person-avatar{width:30px;height:32px;flex-shrink:0;border-radius:8px;background:#e6eddc;display:grid;place-items:center;font-size:13px;color:#6c875b}.person-arrow{margin-left:auto;color:#95a985}.portal-help{font-size:10px;line-height:1.8;color:#929e86;overflow-wrap:anywhere}.portal-help code{display:block;margin-top:12px;-webkit-user-select:all;user-select:all;color:#687f5a}.portal-inline-form{border-top:1px solid #e3e8dc;margin-top:20px;padding-top:20px}.portal-card label{display:block;font-size:11px;color:#677d58;margin-bottom:15px}.portal-card label>input:not([type=checkbox]),.portal-card label>select,.portal-card label>textarea{display:block;width:100%;padding:11px;margin-top:8px;border:1px solid #dbe3d0;border-radius:6px;color:#40543a;background:#fff;font:inherit}.portal-card label>textarea{font-family:ui-monospace,monospace;font-size:11px;line-height:1.7;resize:vertical}.portal-card label.portal-check{display:flex;align-items:center;gap:8px}.portal-check input{accent-color:#567d44}.portal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px}.device-tile{padding:16px;text-align:left;background:#f8faf3;border:1px solid #e1e8d8;border-radius:8px;color:#59714e;min-height:145px}.device-tile.selected{background:#edf4e4;border-color:#aabe96}.device-tile strong,.device-tile small{display:block}.device-tile strong{font-size:12px;margin-top:12px;overflow-wrap:anywhere}.device-tile small{font-size:10px;margin-top:6px;color:#95a385}.device-symbol{font-size:25px;color:#86a273}.device-state{display:inline-block;font-size:8px;margin-top:15px;padding:4px 6px;background:#e4edd8;border-radius:4px;color:#7c9569}.device-state.disabled{background:#f4e6df;color:#a47a68}.portal-add-device{width:100%;background:transparent;border:1px dashed #ccd9bd;padding:14px;color:#80966d;border-radius:6px;margin-top:15px;font-size:11px}.portal-empty{color:#a0ac94;min-height:180px;display:grid;place-items:center;font-size:12px}.device-detail{margin-top:22px}.subscription-box{padding:20px;background:#f2f6eb;border:1px solid #e0e8d5;border-radius:8px}.subscription-box label{font-weight:600}.subscription-input{display:flex;gap:9px}.subscription-input>input{flex:1;min-width:0;border:1px solid #d4dfc7;border-radius:5px;padding:10px;font-size:11px;color:#698159;background:#fffefa}.device-editor{display:grid;grid-template-columns:1fr 1fr;gap:30px}.portal-upload{position:relative;border:1px dashed #bfd0ab;background:#f6f9ef;border-radius:7px;padding:24px;text-align:center;cursor:pointer;margin-top:16px}.portal-card .portal-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.publish-block{border-top:1px solid #e3e8dc;margin-top:24px;padding-top:22px}.portal-preview{margin-top:25px}.rules-columns{grid-template-columns:minmax(240px,.7fr) minmax(350px,1.5fr)}.rules-editor details{margin-top:25px;color:#8a9e76;font-size:10px}.rules-editor summary{cursor:pointer}.history-row{display:block;border:0;border-bottom:1px solid #e3e9da;background:transparent;padding:12px 0;color:#8ca07b;font-size:10px;text-align:left;width:100%}@media(max-width:1000px){.portal-columns{grid-template-columns:1fr}.device-editor{gap:20px}}@media(max-width:850px){.portal-sidebar .portal-nav{padding:13px 7px}.portal-sidebar .portal-nav span,.portal-account{display:none}.portal-sidebar .brand{margin-bottom:40px}}@media(max-width:600px){.device-editor{grid-template-columns:1fr}.subscription-input{flex-direction:column}.portal-card{padding:18px}.entry-card{padding:30px}.portal-layout .page-heading h1{font-size:27px}.portal-columns{margin-top:22px}.portal-layout .local-badge{font-size:8px}.device-grid{grid-template-columns:1fr 1fr}.portal-sidebar{display:flex;width:50px;padding:20px 6px}.portal-sidebar .brand-icon{width:29px;height:32px}.portal-sidebar .brand>span:last-child{display:none}.portal-content{padding-left:13px;padding-right:13px}}
