:root{--canvas:#f6f7f2;--forest:#192c23;--green:#254d38;--lime:#d8e9ad;--ink:#233329;--muted:#8a978a;--line:#e1e6dc;--danger:#b85140}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #adc66a}h1,h2,p{margin:0}h1{letter-spacing:-1px;font-size:32px;font-weight:650}h2{letter-spacing:-.3px;font-size:20px;font-weight:600}small{font-size:14px}.muted,.field-hint{color:var(--muted)}.field-hint{font-size:14px;line-height:1.65}.text-danger{color:var(--danger)}.eyebrow{letter-spacing:1.8px;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:600}.brand{white-space:nowrap;align-items:center;gap:11px;font-size:16px;font-weight:650;display:flex}.brand-mark{background:var(--lime);width:32px;height:32px;color:var(--forest);border-radius:9px;place-items:center;font-size:23px;font-weight:400;display:grid}.app-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--forest);color:#e8eee8;flex-direction:column;height:100vh;padding:30px 22px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 8px}.sidebar nav{gap:6px;margin-top:50px;display:grid}.sidebar nav a{color:#a9beb2;border-radius:9px;align-items:center;gap:12px;padding:13px 15px;display:flex}.sidebar nav a:hover,.sidebar nav a[aria-current=page]{color:var(--lime);background:#ffffff0c}.sidebar-footer{color:#a9beb2;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:auto;padding:20px 8px 0;font-size:14px;display:flex}.sidebar-footer .button{color:#a9beb2;padding:7px}.main-content{width:100%;max-width:1250px;margin:0 auto;padding:56px clamp(24px,5vw,76px)}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.heading-count{letter-spacing:0;color:var(--muted);vertical-align:middle;margin-left:8px;font-size:16px}.toolbar,.card-actions,.key-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button,.icon-button,.text-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;font-weight:550;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.key-actions{align-items:stretch;gap:8px}.key-actions>.button{white-space:nowrap;gap:6px;min-height:40px;padding:9px 10px;font-size:14px}.key-actions .icon{width:16px;height:16px}.button{min-height:40px;padding:10px 15px;font-size:15px}.primary{background:var(--green);color:#fff}.primary:hover{background:#15392b}.secondary{border-color:var(--line);color:var(--ink);background:#fff}.secondary:hover{background:#f2f5ef}.danger{background:var(--danger);color:#fff}.ghost{color:inherit;background:0 0}.text-button{color:var(--green);background:0 0;padding:7px 0;font-size:14px}.icon-button{width:36px;height:36px;color:var(--muted);background:0 0;flex-shrink:0}.icon-button:hover{color:var(--ink);background:#eef2ec}button:disabled{opacity:.5;cursor:wait}.icon{flex-shrink:0}.panel{border:1px solid var(--line);background:#fff;border-radius:12px}.client-grid{gap:12px;display:grid}.client-card{border:1px solid var(--line);background:#fff;border-radius:11px}.client-card>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:19px 22px;list-style:none;display:flex}.client-card>summary::-webkit-details-marker{display:none}.action-menu>summary::-webkit-details-marker{display:none}.client-card>summary>strong{overflow-wrap:anywhere;flex:1;font-size:16px}.client-card>summary>.icon{color:var(--muted);transition:transform .15s}.client-card[open]>summary>.icon{transform:rotate(90deg)}.client-avatar{color:#65784a;background:#f1f5e9;border:1px solid #e1e9d5;border-radius:10px;place-items:center;width:36px;height:36px;font-size:15px;display:grid}.count{color:#778476;white-space:nowrap;background:#f0f3ee;border-radius:5px;padding:4px 7px;font-size:12px}.client-body{border-top:1px solid var(--line)}.client-toolbar{background:#fbfcfa;align-items:center;gap:12px;padding:17px 22px;display:flex}.link-group{flex:1;gap:4px;min-width:0;display:grid}.access-link{color:#7c8b7d;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.access-link:hover{text-decoration:underline}.action-menu{position:relative}.action-menu>summary{color:var(--muted);cursor:pointer;text-align:center;width:32px;height:34px;font-size:19px;list-style:none}.backup-sections{gap:22px;display:grid}.backup-card{min-width:0;padding:28px}.backup-card h2{margin-bottom:16px;font-size:20px}.backup-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.backup-card .field-hint{margin-top:18px}.backup-facts{gap:16px;display:grid}.backup-facts>div{justify-content:space-between;gap:24px;display:flex}.backup-facts dt{color:var(--muted)}.backup-facts dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.backup-path{font-family:monospace;font-size:13px}.backup-saved{color:var(--ink);font-size:14px}@media (width<=600px){.backup-card{padding:20px}.backup-facts>div{flex-direction:column;gap:5px}.backup-facts dd{text-align:left}.backup-actions>.button{width:100%}}.action-menu>div{border:1px solid var(--line);z-index:2;background:#fff;border-radius:9px;width:205px;padding:10px 14px;display:grid;position:absolute;top:35px;right:0;box-shadow:0 12px 36px #10241a14}.action-menu .text-button{justify-content:flex-start}.device-list{padding:0 22px 13px}.device-row{border-bottom:1px solid #eef1eb;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;display:flex}.device-row:last-of-type{border-bottom:0}.device-label{align-items:center;gap:13px;display:flex}.device-label>div{gap:3px;display:grid}.device-label strong{font-size:14px;font-weight:550}.device-number{border:1px solid var(--line);color:#83927f;border-radius:7px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:14px;display:grid}.device-actions{align-items:center;gap:8px;display:flex}.device-actions .button{min-height:32px;padding:6px 11px;font-size:14px}.empty-state{text-align:center;padding:70px 25px}.empty-state h2{margin-top:20px}.empty-state p{color:var(--muted);margin:8px 0 24px;font-size:14px}.empty-icon{color:#81966b;border:1px solid var(--line);background:#f2f5eb;border-radius:15px;place-items:center;width:60px;height:60px;display:inline-grid}.error,.notice{border-radius:7px;margin:0 0 20px;padding:13px 15px;font-size:15px;line-height:1.6}.error{color:#a34735;background:#fff2ef;border:1px solid #f7d5cd}.notice{color:#526b42;background:#eef4e6;border:1px solid #e0ead5}.modal{border:1px solid var(--line);width:min(540px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink);border-radius:14px;padding:0;box-shadow:0 24px 100px #0d261c25}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14261e70}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:19px 22px;display:flex}.modal-header h2{font-size:18px}.modal-content{padding:24px}.form-stack{gap:19px;display:grid}.device-name-fields{gap:16px;display:grid}.device-name-field{align-items:flex-end;gap:8px;display:flex}.device-name-field>label{flex:1;min-width:0}.device-label strong,.key-heading h2{overflow-wrap:anywhere}label{color:#516155;gap:7px;font-size:15px;display:grid}input,select,textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #d8e0d4;border-radius:7px;min-height:41px;padding:10px 12px;font-size:16px}textarea{resize:vertical}input[type=file]{padding:8px;font-size:14px}input::placeholder,textarea::placeholder{color:#a0aaa0}.form-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:23px;display:flex}.form-stack .modal-actions{margin-top:3px}.modal-content>.error{margin-top:18px}.form-stack .error{margin-bottom:0}.import-preview{border:1px solid var(--line);border-radius:8px;max-height:230px;padding:12px 15px;overflow:auto}.import-preview>p{color:var(--muted);margin-bottom:10px;font-size:14px}.import-row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.server-card{width:100%;padding:27px}.server-card>header{align-items:center;gap:15px;display:flex}.server-card header>div{flex:1;min-width:0}.server-card header h2{overflow-wrap:anywhere}.server-card header p{margin-top:4px;font-size:15px}.server-symbol{color:#7b9066;background:#f1f5ea;border-radius:12px;place-items:center;width:51px;height:51px;display:grid}.status-dot{color:var(--muted);align-items:center;gap:7px;font-size:14px;display:inline-flex}.status-dot:before{content:"";background:#bba96c;border-radius:50%;width:6px;height:6px}.status-dot.positive:before{background:#7ca567}.facts{gap:16px;margin:29px 0 22px;display:grid}.facts>div{grid-template-columns:145px 1fr;gap:16px;display:grid}.facts dt{color:var(--muted);font-size:15px}.facts dd{text-align:right;overflow-wrap:anywhere;margin:0;font-size:15px}.fingerprint{font-family:ui-monospace,Consolas,monospace;font-size:14px!important}.card-actions{border-top:1px solid var(--line);justify-content:flex-end;padding-top:22px}.operation-progress{color:#657b51;background:#f3f6ed;border-radius:7px;align-items:center;gap:10px;margin-bottom:20px;padding:12px;font-size:14px;display:flex}.spinner{border:2px solid #c5d3b5;border-top-color:#69854f;border-radius:50%;width:13px;height:13px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.server-empty{width:100%}.auth-page{background:radial-gradient(ellipse at top left, #eaf0e0, transparent 65%), var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:27px;width:100%;max-width:480px;padding:44px;display:grid}.auth-card>.brand{margin-bottom:15px;font-size:20px}.auth-card h1{font-size:32px}.auth-card .form-stack{gap:24px}.auth-card label{gap:9px;font-size:16px}.auth-card input,.auth-card .button{min-height:48px;font-size:16px}.auth-card .error{margin:0}.loading-page{color:var(--muted);padding:60px}.public-page{max-width:730px;min-height:100dvh;margin:auto;padding:38px 24px 60px}.public-header{justify-content:space-between;align-items:center;margin-bottom:55px;display:flex}.public-title{margin-bottom:28px}.public-title>p:last-child{margin-top:12px;font-size:14px}.public-keys{gap:16px;display:grid}.key-card{padding:23px}.key-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.key-heading h2{font-size:16px}.key-text{margin:18px 0}.key-text summary{color:var(--muted);cursor:pointer;font-size:14px}.key-text code{word-break:break-all;background:#f5f7f2;border-radius:7px;max-height:180px;margin-top:12px;padding:14px;font-size:12px;display:block;overflow:auto}.key-card .field-hint{margin-top:18px}.public-hint{color:var(--muted);max-width:570px;margin-top:27px;font-size:14px;line-height:1.8}@media (width<=760px){.app-shell{display:block}.sidebar{grid-template-columns:1fr auto;gap:20px;height:auto;padding:18px 20px;display:grid;position:static}.sidebar .brand{padding:0;font-size:15px}.sidebar .brand-mark{width:28px;height:28px}.sidebar nav{grid-area:2/1/auto/-1;gap:8px;margin:0;display:flex}.sidebar nav a{padding:9px 14px;font-size:14px}.sidebar-footer{border:0;justify-content:flex-end;margin:0;padding:0}.sidebar-footer>span{display:none}.sidebar-footer .button{font-size:14px}.main-content{padding:28px 20px}.page-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:24px}h1{font-size:28px}.toolbar{gap:8px;width:100%}.toolbar .button{flex:1;padding:9px 10px;font-size:14px}.client-card>summary{gap:10px;padding:16px}.client-toolbar{flex-wrap:wrap;gap:8px;padding:14px}.link-group{flex-basis:100%}.client-toolbar>.action-menu{margin-left:auto}.device-list{padding:0 15px 12px}.device-label{gap:9px}.device-actions{gap:3px}.server-card{padding:20px}.server-card>header{flex-wrap:wrap}.server-card .status-dot{margin-left:66px}.facts>div{grid-template-columns:105px 1fr;gap:10px}.public-header{margin-bottom:38px}.public-page{padding-top:25px}.key-actions>.button{flex:1}.auth-card{padding:27px}.modal-content{padding:20px}.modal-header{padding:15px 20px}.form-columns{gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.public-intro{max-width:560px;margin-bottom:24px;font-size:16px;line-height:1.7}.client-compatibility{margin-top:-12px;margin-bottom:24px}.email-card{margin-top:22px;padding:24px}.email-card h2{align-items:center;gap:10px;margin-bottom:18px;font-size:16px;display:flex}.email-card form{gap:14px;display:grid}.email-address{overflow-wrap:anywhere;margin-bottom:4px;font-size:15px}.email-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:12px;display:flex}.email-card .field-hint{margin-top:12px}.email-card .error{margin-top:15px;margin-bottom:0}.action-menu>summary{justify-content:center;align-items:center;display:flex}
