:root{--deep:#00521f;--green:#0a7934;--green-hover:#006b2d;--mid:#14b255;--mint:#7adfa9;--mint-soft:#a9ebc7;--mint-bg:#eefbf3;--bg:#fafaf9;--surface:#fff;--panel:#f5f5f3;--border:#e5e5e2;--border-soft:#f0f0ee;--line:#c9c9c6;--ink:#1a1a1a;--body:#4a4a4a;--muted:#656565;--dim:#8a8a88;--danger:#c0392b;--warning:#c98a12;--ramp:linear-gradient(90deg, #0a7934 0%, #14b255 52%, #7adfa9 100%);--shadow-card:0 1px 2px #0a79340f;--shadow-btn:0 2px 8px #0a793429;--shadow-pop:0 12px 32px #0a793424}*{box-sizing:border-box}body{background:var(--bg);color:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-family:Poppins,system-ui,sans-serif}a{color:var(--green);text-decoration:none}a:hover{color:var(--deep)}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d8d8d4 padding-box content-box;border:3px solid #0000;border-radius:8px}.display{letter-spacing:-.015em;margin:0;font:700 46px/1.08 Dosis,sans-serif}.h1{letter-spacing:-.01em;color:var(--ink);margin:0;font:700 24px/1.1 Dosis,sans-serif}.h2{color:var(--ink);margin:0;font:700 18px/1.1 Dosis,sans-serif}.h3{color:var(--ink);margin:0;font:700 17px/1.1 Dosis,sans-serif}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font:600 10px/1 Poppins,sans-serif}.metric{color:var(--ink);font:700 38px/1 Dosis,sans-serif}.note{color:var(--dim);font:400 11.5px/1.4 Poppins,sans-serif}.ramp-bar{background:var(--ramp);border-radius:2px;height:3px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;padding:24px}.card-flush{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;overflow:hidden}.card-mint{background:var(--mint-bg);border:1px solid var(--mint-soft);border-radius:16px;padding:22px}.stack{flex-direction:column;gap:24px;display:flex}.btn{letter-spacing:.08em;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font:600 11.5px/1 Poppins,sans-serif;transition:background .15s,transform .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:default;transform:none!important}.btn-primary{background:var(--green);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--green-hover);transform:translateY(-2px)}.btn-outline{border:1px solid var(--green);color:var(--green);background:0 0}.btn-outline:hover:not(:disabled){background:var(--mint-bg)}.btn-outline-on-mint:hover:not(:disabled){background:#fff}.btn-ghost{border:1px solid var(--border);color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--panel)}.btn-ghost-green{border:1px solid var(--border);color:var(--green);background:0 0}.btn-ghost-green:hover:not(:disabled){background:var(--mint-bg);border-color:var(--mint-soft)}.btn-dashed{border:1px dashed var(--line);color:var(--muted);background:0 0}.btn-dashed:hover:not(:disabled){border-color:var(--green);color:var(--green)}.btn-sm{padding:10px 18px;font-size:11px}.btn-xs{padding:9px 16px;font-size:11px}.btn-block{width:100%;padding:14px;font-size:13.5px}.btn-link{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font:500 11.5px/1 Poppins,sans-serif}.icon-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--body);cursor:pointer;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex}.icon-btn:hover{background:var(--mint-bg);border-color:var(--mint-soft);color:var(--green)}.label{color:var(--body);margin-bottom:7px;font:500 12px/1 Poppins,sans-serif;display:block}.field{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--bg);border-radius:6px;outline:none;padding:11px 13px;font-size:13px;transition:border-color .15s,box-shadow .15s}.field:focus{border-color:var(--mint-soft);box-shadow:0 0 0 3px #7adfa947}.field-lg{padding:12px 14px;font-size:13.5px}textarea.field{resize:vertical}.field-hint{color:var(--dim);margin-top:6px;font:400 11px/1.5 Poppins,sans-serif}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.span-2{grid-column:1/-1}.badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:6px 10px;font:600 10px/1 Poppins,sans-serif;display:inline-block}.badge-sm{padding:5px 9px}.badge-xs{padding:5px 8px;font-size:9.5px}.badge-lg{padding:7px 11px}.count-pill{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 6px;font:600 10.5px/1 Poppins,sans-serif;display:inline-flex}.ext-tag{letter-spacing:.06em;background:var(--panel);color:var(--muted);border-radius:6px;padding:6px 8px;font:600 9.5px/1 Poppins,sans-serif}.chip-tag{background:var(--mint-bg);border:1px solid var(--mint-soft);color:var(--green);border-radius:6px;align-items:center;gap:7px;padding:7px 11px;font:500 11.5px/1 Poppins,sans-serif;display:inline-flex}.chip-tag button{cursor:pointer;color:#4fca82;background:0 0;border:0;padding:0;font-size:13px;line-height:1}.chip-tag button:hover{color:var(--green)}.table-head{background:var(--panel);border-bottom:1px solid var(--border);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);gap:16px;padding:14px 24px;font:600 10px/1 Poppins,sans-serif;display:grid}.table-head-sm{padding:13px 24px}.table-row{border-bottom:1px solid var(--border-soft);text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;gap:16px;width:100%;padding:18px 24px;font-family:inherit;display:grid}.table-row-sm{padding:16px 24px}.table-row:hover{background:var(--bg)}.row-link{cursor:pointer}.divided>*{border-top:1px solid var(--border-soft)}.list-row{align-items:center;gap:14px;padding:15px 0;display:flex}.meta-row{color:var(--muted);justify-content:space-between;gap:16px;padding:9px 0;font:400 12px/1.45 Poppins,sans-serif;display:flex}.meta-row span:last-child{color:var(--ink);text-align:right;font-weight:500}.checkbox{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:background .15s,border-color .15s;display:flex}.checkbox-sm{width:19px;height:19px}.checkbox[data-done=true]{border-color:var(--mid);background:var(--mid)}.checkbox:not([data-done=true]):hover{border-color:var(--mid)}.done-text{opacity:.5;text-decoration:line-through}.progress{background:var(--border-soft);border-radius:3px;height:6px;overflow:hidden}.progress-sm{border-radius:3px;height:5px}.progress>span{background:var(--mid);border-radius:3px;height:100%;display:block}.toggle{background:var(--line);cursor:pointer;border:0;border-radius:999px;flex:none;justify-content:flex-start;width:38px;height:22px;padding:3px;transition:background .15s;display:flex}.toggle[data-on=true]{background:var(--mid);justify-content:flex-end}.toggle>span{background:#fff;border-radius:999px;width:16px;height:16px;display:block}.shell{min-height:100dvh;display:flex}.sidebar{flex-direction:column;flex:none;width:252px;height:100dvh;padding:22px 16px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.nav-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:10px 12px;font:500 13px/1 Poppins,sans-serif;transition:background .15s,color .15s;display:flex}.nav-item>span:first-of-type{flex:1}.main{background:var(--bg);flex:1;min-width:0}.topbar{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffdb;align-items:center;gap:20px;padding:16px 32px;display:flex;position:sticky;top:0}.search-box{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;gap:10px;width:250px;padding:9px 13px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12.5px}.page{padding:28px 32px 48px}.page-tight{padding:24px 32px 48px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.detail-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:24px;display:grid}.detail-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.new-menu{border:1px solid var(--border);width:232px;box-shadow:var(--shadow-pop);z-index:20;background:#fff;border-radius:12px;padding:7px;position:absolute;top:46px;right:0}.new-menu button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font:500 12.5px/1.3 Poppins,sans-serif;display:block}.new-menu button:hover{background:var(--mint-bg);color:var(--green)}.new-menu button div{color:var(--dim);font:400 11px/1.4 Poppins,sans-serif}.board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px;display:grid}.board-col{background:var(--panel);border:1px solid var(--border);border-radius:14px;min-height:320px;padding:14px;transition:background .15s,border-color .15s}.board-col[data-over=true]{background:var(--mint-bg);border-color:var(--mint-soft)}.board-card{text-align:left;border:1px solid var(--border);width:100%;box-shadow:var(--shadow-card);cursor:grab;background:#fff;border-radius:12px;padding:14px;font-family:inherit;transition:box-shadow .15s;display:block}.board-card:hover{box-shadow:0 4px 12px #0a79341a}.board-card[data-dragging=true]{opacity:.45}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain;background:#00521f8c;justify-content:center;padding:40px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;min-width:0;max-width:640px;max-height:calc(100dvh - 80px);margin:auto;display:flex;overflow:hidden;box-shadow:0 24px 60px #0a793429}.modal-head{border-bottom:1px solid var(--border-soft);align-items:flex-start;gap:16px;padding:24px 28px 18px;display:flex}.modal-body{grid-template-columns:1fr 1fr;gap:16px;padding:24px 28px;display:grid;overflow:auto}.modal-foot{border-top:1px solid var(--border-soft);background:var(--bg);align-items:center;gap:10px;padding:18px 28px;display:flex}.modal-foot-note{color:var(--dim);flex:1;font:400 11px/1.5 Poppins,sans-serif}.modal-close{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;flex:none;font:400 16px/1 Poppins,sans-serif}.modal-close:hover{background:var(--panel);color:var(--ink)}.toast{z-index:70;background:var(--deep);border-radius:12px;align-items:center;gap:12px;padding:14px 18px;animation:.22s ease-out toast-in;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 32px #0a79343d}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth{grid-template-columns:1.05fr 1fr;min-height:100dvh;display:grid}.auth-brand{background:var(--deep);flex-direction:column;justify-content:space-between;gap:56px;padding:56px 56px 0;display:flex;position:relative;overflow:hidden}.auth-form{background:#fff;justify-content:center;align-items:center;padding:56px 64px;display:flex}.auth-title{letter-spacing:-.01em;color:var(--ink);margin:0 0 8px;font:700 30px/1.1 Dosis,sans-serif}.auth-lead{color:var(--muted);margin:0 0 28px;font:400 13.5px/1.6 Poppins,sans-serif}.alert-mint{background:var(--mint-bg);border:1px solid var(--mint-soft);color:var(--body);border-radius:12px;margin-top:16px;padding:13px 15px;font:400 12px/1.55 Poppins,sans-serif}.alert-danger{color:var(--danger);background:#fbeceb;border:1px solid #f3c9c4;border-radius:12px;margin-top:16px;padding:13px 15px;font:400 12px/1.55 Poppins,sans-serif}.portal-head{background:var(--deep);position:relative;overflow:hidden}.portal-wrap{max-width:1120px;margin:0 auto}.portal-tab{color:var(--mint);cursor:pointer;background:#ffffff1a;border:0;border-radius:12px 12px 0 0;padding:12px 20px;font:600 12.5px/1 Poppins,sans-serif;transition:background .15s,color .15s}.portal-tab[data-on=true]{background:var(--bg);color:var(--ink)}@media (max-width:1180px){.grid-4,.board,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.detail-grid,.split{grid-template-columns:1fr!important}}@media (max-height:700px){.modal-backdrop{padding:16px}.modal{max-height:calc(100dvh - 32px)}}@media (max-width:720px){.grid-4,.grid-3,.board{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal-body{grid-template-columns:1fr}.modal-foot{flex-wrap:wrap}.modal-foot-note{flex:1 0 100%}.page,.page-tight{padding:20px 16px 40px}.topbar{flex-wrap:wrap;padding:14px 16px}.search-box{order:3;width:100%}}.splash{display:none}@media (display-mode:standalone){.splash{z-index:200;background:var(--deep);flex-direction:column;justify-content:center;align-items:center;gap:34px;transition:opacity .35s,visibility .35s;display:flex;position:fixed;inset:0}.splash-done{opacity:0;visibility:hidden;pointer-events:none}}.splash-mark{flex-direction:column;align-items:center;line-height:1;display:flex}.splash-apf{letter-spacing:-.01em;font:800 52px/1 Dosis,sans-serif}.splash-desc{letter-spacing:.22em;color:#ffffffb8;margin-top:9px;font:400 9px/1.7 Poppins,sans-serif}.splash-bar{background:#ffffff29;border-radius:999px;width:132px;height:3px;overflow:hidden}.splash-bar span{background:var(--mint);border-radius:999px;width:40%;height:100%;animation:1.1s ease-in-out infinite splash-slide;display:block}@keyframes splash-slide{0%{transform:translate(-100%)}to{transform:translate(330%)}}@media (prefers-reduced-motion:reduce){.splash-bar span{width:100%;animation:none}}.install-modal{max-width:420px}.install-body{text-align:center;padding:28px 28px 24px;display:block}.install-icon{width:64px;height:64px;box-shadow:var(--shadow-card);border-radius:14px;margin-bottom:18px}.install-title{letter-spacing:-.01em;color:var(--ink);margin:0 0 12px;font:700 21px/1.2 Dosis,sans-serif}.install-text{color:var(--body);margin:0 0 12px;font:400 12.5px/1.65 Poppins,sans-serif}.install-steps{text-align:left;color:var(--body);margin:0 0 12px;padding-left:20px;font:400 12.5px/1.8 Poppins,sans-serif}.install-foot{flex-wrap:wrap;gap:8px}@media (max-width:720px){.install-foot{justify-content:stretch}.install-foot>span{display:none}.install-foot .btn{flex:auto}}.update-bar{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:150;background:var(--deep);max-width:calc(100vw - 32px);box-shadow:var(--shadow-pop);border-radius:999px;align-items:center;gap:12px;padding:12px 12px 12px 18px;animation:.22s ease-out toast-in;display:flex;position:fixed;transform:translate(-50%)}.update-bar-text{color:#fff;font:400 12.5px/1.4 Poppins,sans-serif}.update-bar-btn{background:var(--mint);color:#003815;letter-spacing:.08em;cursor:pointer;border:0;border-radius:999px;flex:none;padding:9px 16px;font:600 11px/1 Poppins,sans-serif}.update-bar-btn:disabled{opacity:.6;cursor:default}.update-bar-close{color:#fffc;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;flex:none;width:26px;height:26px;font:400 15px/1 Poppins,sans-serif}@media (max-width:560px){.update-bar{border-radius:16px;max-width:none;left:16px;right:16px;transform:none}.update-bar-text{flex:1;font-size:12px}}.auth-logo-mobile{display:none}@media (max-width:900px){.auth-logo-mobile{width:116px;height:auto;margin:0 auto 26px;display:block}.auth-form{padding:40px 24px}}.install-nav-item{border:1px dashed #ffffff47;margin-top:10px}.install-nav-item:hover{border-style:solid}.nav-toggle{border:1px solid var(--border);width:34px;height:34px;color:var(--body);cursor:pointer;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;display:none}.nav-scrim{display:none}@media (max-width:900px){.nav-toggle{order:-1;display:inline-flex}.sidebar{z-index:90;width:min(84vw,300px);transition:transform .24s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #00000047}body[data-nav=open] .sidebar{transform:translate(0)}body[data-nav=open] .nav-scrim{z-index:85;background:#002d1180;display:block;position:fixed;inset:0}.shell{display:block}.main{width:100%}body[data-nav=open]{overflow:hidden}}@media (max-width:900px) and (prefers-reduced-motion:reduce){.sidebar{transition:none}}@media (display-mode:standalone){.topbar{padding-top:calc(16px + env(safe-area-inset-top))}.sidebar{padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom))}.page,.page-tight{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.modal-backdrop{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}}
