:root{--primary: #0D7878;--primary-dark: #0A5E5E;--primary-bg: #E4F1F0;--accent: #F97316;--bg: #F5F7F7;--text: #0A2E2E;--muted: #4F6B6B;--border: #E3ECEB;--danger: #B42318}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--text);font-family:Rubik,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}.wrap{max-width:1100px;margin:0 auto;padding:0 16px}.offscreen{position:fixed;top:-1000px;opacity:0}.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;padding:10px 16px;cursor:pointer;min-height:44px}.btn:hover{border-color:var(--primary)}.btn:focus-visible,.card:focus-visible,.tab:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.add{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.btn.add:hover{filter:brightness(.94)}.btn.link{border:0;background:none;color:var(--primary-dark);text-decoration:underline;padding:8px}.btn[disabled]{opacity:.6;cursor:default}.join{max-width:640px;margin:0 auto;padding:48px 16px}.join h1{font-size:2rem;margin:0 0 8px;color:var(--primary-dark)}.join .lead{font-size:1.125rem;margin:0 0 24px;color:var(--muted)}.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 24px;display:grid;gap:12px}.steps li{counter-increment:s;background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start}.steps li:before{content:counter(s);flex:none;width:28px;height:28px;border-radius:50%;background:var(--primary-bg);color:var(--primary-dark);font-weight:600;display:grid;place-items:center}.panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;display:grid;gap:12px}.field{display:grid;gap:6px}.field>span{font-weight:500}.field .hint{font-weight:400;color:var(--muted);font-size:.875rem}input[type=text],input[type=date],input[type=number],select,textarea,input:not([type]){width:100%;border:1px solid #C9D9D8;border-radius:12px;padding:10px 12px;background:#fff;min-height:44px}textarea{min-height:120px;resize:vertical}.check{display:flex;gap:10px;align-items:center;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--primary)}.error{color:var(--danger);background:#fef3f2;border:1px solid #FECDCA;border-radius:12px;padding:10px 12px}.notice{color:var(--primary-dark);background:var(--primary-bg);border-radius:12px;padding:10px 12px}header.top{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.top .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0}.top .brand{font-size:1.25rem;font-weight:600;color:var(--primary-dark);margin-inline-end:auto}.top .brand small{display:block;font-size:.8125rem;font-weight:400;color:var(--muted)}.menu-wrap{position:relative}.menu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);width:300px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px;display:grid;gap:8px;box-shadow:0 8px 24px #0a2e2e1f;z-index:10}.menu h3{margin:0;font-size:.9375rem;color:var(--muted);font-weight:500}.menu ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.menu li{display:flex;justify-content:space-between;gap:8px}.tag{font-size:.8125rem;background:var(--primary-bg);color:var(--primary-dark);border-radius:999px;padding:1px 10px}.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 0 8px}.tools input[type=search]{flex:1 1 240px;max-width:420px}.tabs{display:flex;gap:8px}.tab{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 18px;cursor:pointer;min-height:40px}.tab[aria-selected=true]{background:var(--primary);border-color:var(--primary);color:#fff}.syncline{color:var(--muted);font-size:.875rem;padding:0 0 8px;min-height:1.5em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding-bottom:48px}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;display:grid;gap:8px;align-content:start;cursor:pointer;position:relative}.card:hover{border-color:var(--primary)}.card .store{font-size:1.125rem;font-weight:600;overflow-wrap:anywhere}.card .amount{color:var(--primary-dark);font-weight:500}.card .meta{color:var(--muted);font-size:.9375rem}.card .warn{color:var(--danger);font-weight:500}.card.used{opacity:.75}.badge{position:absolute;inset-inline-end:12px;top:12px;background:#eef2f2;color:var(--muted);border-radius:999px;padding:1px 10px;font-size:.8125rem}.codeRow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.25rem;background:var(--primary-bg);border-radius:10px;padding:6px 10px;direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere;user-select:all}.empty{text-align:center;color:var(--muted);padding:64px 16px;font-size:1.125rem}.dlg{border:0;border-radius:20px;padding:0;width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 24px);color:var(--text)}.dlg::backdrop{background:#0a2e2e80}.dlg .body{padding:20px;display:grid;gap:14px}.dlg h2{margin:0;font-size:1.375rem;color:var(--primary-dark)}.dlg .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.two{grid-template-columns:1fr}.top .brand{flex-basis:100%}}.plist{display:grid;gap:8px}.pitem{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;gap:10px;align-items:center}.pitem .grow{flex:1;min-width:0;overflow-wrap:anywhere}.dupe{background:#fff6ed;border:1px solid #FDDCAB;border-radius:12px;padding:12px;display:grid;gap:10px}#toast{position:fixed;bottom:24px;inset-inline:0;margin-inline:auto;width:fit-content;max-width:calc(100vw - 32px);background:var(--text);color:#fff;padding:12px 20px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}#toast.show{opacity:1}@media(prefers-reduced-motion:reduce){#toast{transition:none}}textarea.codes{min-height:64px}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[hidden]{display:none!important}
