@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=DM+Sans:wght@400;500;600;700&display=swap");:root{--cream:#f5f0e8;--cream-deep:#ebe3d4;--ink:#2a2420;--ink-soft:#5a5048;--ink-muted:#958a7e;--line:#dcd2c1;--line-strong:#b8ab95;--personal:#c27363;--personal-bg:#f5e4de;--personal-deep:#9e5448;--trabajo:#b89346;--trabajo-bg:#f2e8cc;--trabajo-deep:#8f6e2b;--repairs:#6b8160;--repairs-bg:#dfe6d8;--repairs-deep:#4a5c42;--urgent:#c94d3d;--urgent-bg:#f8dfd9;--ok:#4a6b4a;--ok-bg:#d8e2d5;--font-display:"Fraunces",Georgia,serif;--font-body:"DM Sans",-apple-system,sans-serif;--radius:10px;--radius-lg:16px;--radius-xl:24px;--spine:4px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overscroll-behavior:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.025;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:transparent}a{color:inherit;text-decoration:none}.shell{max-width:720px;margin:0 auto;padding:24px 20px 120px;position:relative;z-index:2}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.topbar .brand{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:-.02em;color:var(--ink)}.topbar .brand em{font-style:italic;font-weight:400;color:var(--personal)}.topbar .whoami{font-size:12px;color:var(--ink-muted);letter-spacing:.02em;cursor:pointer;padding:6px 12px;border-radius:999px;border:1px solid var(--line);transition:all .2s}.topbar .whoami:hover{border-color:var(--ink-soft);color:var(--ink-soft)}.hero{padding:24px 0 36px;border-bottom:1px solid var(--line);margin-bottom:28px}.hero .eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px}.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,8vw,64px);line-height:.95;letter-spacing:-.03em;margin:0 0 8px;color:var(--ink)}.hero h1 em{font-style:italic;color:var(--personal);font-weight:500}.hero .subtitle{font-size:16px;color:var(--ink-soft);max-width:40ch}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:24px}.stat{background:var(--cream-deep);border-radius:var(--radius-lg);padding:14px;border:1px solid var(--line);transition:all .3s cubic-bezier(.2,.8,.2,1);cursor:pointer;position:relative;overflow:hidden;min-width:0}.stat:hover{transform:translateY(-2px);border-color:var(--line-strong)}.stat.urgent-active{background:var(--urgent-bg);border-color:var(--urgent)}.stat.urgent-active .stat-value{color:var(--urgent)}.stat-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px}.stat-value{font-family:var(--font-display);font-size:32px;font-weight:500;line-height:1;color:var(--ink)}.fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;z-index:30;display:flex;align-items:center;gap:10px;padding:14px 22px 14px 18px;background:var(--ink);color:var(--cream);border-radius:999px;font-weight:600;font-size:15px;letter-spacing:-.01em;box-shadow:0 10px 30px -10px rgba(42,36,32,.35),0 4px 8px -2px rgba(42,36,32,.2);transition:all .25s cubic-bezier(.2,.8,.2,1)}.fab:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 36px -10px rgba(42,36,32,.45),0 6px 12px -2px rgba(42,36,32,.25)}.fab .plus{font-size:20px;font-weight:300;line-height:1}.filter-bar{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none;padding:2px}.filter-bar::-webkit-scrollbar{display:none}.pill{padding:8px 16px;border-radius:999px;background:transparent;border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink-soft);white-space:nowrap;transition:all .2s;flex-shrink:0}.pill:hover{border-color:var(--line-strong);color:var(--ink)}.pill.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.pill.personal.active{background:var(--personal);border-color:var(--personal)}.pill.trabajo.active{background:var(--trabajo);border-color:var(--trabajo);color:#fff}.pill.repairs.active{background:var(--repairs);border-color:var(--repairs)}.section-label{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:15px;color:var(--ink-muted);margin:24px 0 12px;letter-spacing:.01em}.section-label:first-of-type{margin-top:8px}.ticket{position:relative;background:#fefcf8;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px 18px 24px;margin-bottom:10px;transition:all .25s cubic-bezier(.2,.8,.2,1);cursor:pointer;animation:fadein .4s ease both}.ticket:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 8px 24px -8px rgba(42,36,32,.1)}.ticket:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:var(--spine);border-radius:0 2px 2px 0;background:var(--ink-muted);transition:all .25s}.ticket.cat-personal:before{background:var(--personal)}.ticket.cat-trabajo:before{background:var(--trabajo)}.ticket.cat-repairs:before{background:var(--repairs)}.ticket.resuelto{opacity:.55}.ticket.cancelado{opacity:.4}.ticket.cancelado .t-title{text-decoration:line-through}.ticket.urgente{border-color:var(--urgent);background:linear-gradient(to right,var(--urgent-bg) 0,#fefcf8 18%)}.t-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.t-tag{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:4px}.t-tag.personal{background:var(--personal-bg);color:var(--personal-deep)}.t-tag.trabajo{background:var(--trabajo-bg);color:var(--trabajo-deep)}.t-tag.repairs{background:var(--repairs-bg);color:var(--repairs-deep)}.t-urgente{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:var(--urgent);color:#fff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.7}}.t-title{font-family:var(--font-display);font-weight:500;font-size:18px;line-height:1.3;color:var(--ink);letter-spacing:-.01em;margin:0 0 4px}.t-desc{font-size:14px;color:var(--ink-soft);line-height:1.5;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.t-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-muted);flex-wrap:wrap}.t-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-muted);flex-shrink:0}.t-meta>*{white-space:nowrap}.t-direction{font-size:11px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:4px}.t-direction .arrow{opacity:.5}.t-direction strong,.t-estado{color:var(--ink-soft);font-weight:500}.t-estado{display:inline-flex;align-items:center;gap:6px;font-size:12px}.t-estado .estado-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-muted)}.t-estado.nuevo .estado-dot{background:var(--personal);box-shadow:0 0 0 3px var(--personal-bg)}.t-estado.en_progreso .estado-dot{background:var(--trabajo);box-shadow:0 0 0 3px var(--trabajo-bg)}.t-estado.esperando .estado-dot{background:var(--ink-muted)}.t-estado.resuelto .estado-dot{background:var(--ok)}.t-estado.cancelado .estado-dot{background:var(--line-strong)}.detail-head{margin-bottom:24px}.detail-back{font-size:13px;color:var(--ink-muted);margin-bottom:16px;display:inline-flex;align-items:center;gap:6px}.detail-back:hover,.detail-title{color:var(--ink)}.detail-title{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,6vw,40px);line-height:1.1;letter-spacing:-.02em;margin:12px 0 16px}.detail-desc{font-size:16px;line-height:1.6;color:var(--ink-soft);margin-bottom:20px;white-space:pre-wrap}.detail-chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.detail-info{background:var(--cream-deep);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:28px;display:grid;grid-gap:10px;gap:10px;font-size:13px}.detail-info .row{display:flex;justify-content:space-between;gap:12px}.detail-info .k{color:var(--ink-muted);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.detail-info .v{color:var(--ink);font-weight:500;text-align:right}.timeline{position:relative;margin:24px 0 24px 16px;padding-left:24px}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--line)}.tl-entry{position:relative;padding-bottom:20px;animation:fadein .4s ease both}.tl-entry:before{content:"";position:absolute;left:-24px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--cream);border:2px solid var(--ink-muted)}.tl-entry.change:before{border-color:var(--personal);background:var(--personal)}.tl-entry.resuelto:before{border-color:var(--ok);background:var(--ok)}.tl-autor{font-size:12px;font-weight:600;color:var(--ink);letter-spacing:.02em}.tl-when{font-size:11px;color:var(--ink-muted);margin-left:8px}.tl-msg{font-size:14px;color:var(--ink-soft);margin-top:4px;line-height:1.5}.tl-change{font-size:11px;font-weight:600;color:var(--personal);letter-spacing:.05em;text-transform:uppercase;margin-top:4px}.composer{background:var(--cream-deep);border-radius:var(--radius-lg);padding:14px;margin-top:20px}.composer textarea{width:100%;min-height:60px;max-height:200px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--cream);resize:vertical;outline:none;font-size:14px;line-height:1.5;color:var(--ink)}.composer textarea:focus{border-color:var(--line-strong)}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}.composer-actions select{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:7px 10px;font-size:13px;font-weight:500;color:var(--ink-soft);outline:none}.btn{padding:9px 18px;border-radius:var(--radius);font-size:14px;font-weight:600;background:var(--ink);color:var(--cream);letter-spacing:-.01em;transition:all .2s}.btn:hover{background:#1a1612}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line);padding:9px 18px;border-radius:var(--radius);font-size:14px;font-weight:500}.btn-ghost:hover{border-color:var(--line-strong);color:var(--ink)}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.action-row .btn,.action-row .btn-ghost{flex:1 1 auto}.form{max-width:560px}.form-group{margin-bottom:24px}.form-label{display:block;font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--ink-soft);margin-bottom:8px}.form-input,.form-textarea{width:100%;padding:12px 14px;background:#fefcf8;border:1px solid var(--line);border-radius:var(--radius);font-size:15px;color:var(--ink);outline:none;transition:border .2s}.form-input:focus,.form-textarea:focus{border-color:var(--line-strong)}.form-title{font-size:22px;letter-spacing:-.01em}.form-input.title-input,.form-title{font-family:var(--font-display);font-weight:500}.form-input.title-input{font-size:18px}.form-textarea{min-height:100px;resize:vertical;font-family:var(--font-body);line-height:1.5}.cat-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.cat-option{background:#fefcf8;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 12px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.cat-option:hover{border-color:var(--line-strong)}.cat-option .icon{font-size:22px;line-height:1;margin-bottom:6px;display:block;color:var(--ink-muted)}.cat-option .name{font-family:var(--font-display);font-weight:500;font-size:14px;color:var(--ink);margin-bottom:2px}.cat-option .hint{font-size:10px;color:var(--ink-muted);letter-spacing:.02em}.cat-option.sel-personal{background:var(--personal-bg);border-color:var(--personal)}.cat-option.sel-personal .icon{color:var(--personal)}.cat-option.sel-trabajo{background:var(--trabajo-bg);border-color:var(--trabajo)}.cat-option.sel-trabajo .icon{color:var(--trabajo-deep)}.cat-option.sel-repairs{background:var(--repairs-bg);border-color:var(--repairs)}.cat-option.sel-repairs .icon{color:var(--repairs-deep)}.urg-picker{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.urg-option{background:#fefcf8;border:1px solid var(--line);border-radius:var(--radius);padding:10px 4px;text-align:center;font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--ink-soft);transition:all .2s}.urg-option:hover{border-color:var(--line-strong)}.urg-option.sel{background:var(--ink);color:var(--cream);border-color:var(--ink)}.urg-option.sel-urgente{background:var(--urgent);color:#fff;border-color:var(--urgent)}.to-picker{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.to-option{background:#fefcf8;border:1px solid var(--line);border-radius:var(--radius);padding:12px;text-align:center;font-weight:500;color:var(--ink-soft);transition:all .2s}.to-option:hover{border-color:var(--line-strong)}.to-option.sel{background:var(--ink);color:var(--cream);border-color:var(--ink)}.to-option.sel-both{background:var(--personal);color:#fff;border-color:var(--personal)}.empty{text-align:center;padding:60px 20px;color:var(--ink-muted)}.empty .emoji{font-size:48px;color:var(--line-strong);margin-bottom:14px}.empty .emoji,.empty .msg{font-family:var(--font-display);font-style:italic}.empty .msg{font-size:18px;color:var(--ink-soft);margin-bottom:6px}.empty .sub{font-size:13px;color:var(--ink-muted)}.pin-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:2}.pin-box{max-width:380px;width:100%;text-align:center}.pin-box .mark{font-style:italic;font-size:14px;color:var(--ink-muted);letter-spacing:.1em;margin-bottom:8px}.pin-box .mark,.pin-box h1{font-family:var(--font-display)}.pin-box h1{font-weight:400;font-size:56px;line-height:1;letter-spacing:-.03em;margin:0 0 10px}.pin-box h1 em{font-style:italic;color:var(--personal);font-weight:500}.pin-box p{color:var(--ink-soft);font-size:15px;margin:0 0 32px}.pin-box input{width:100%;background:transparent;border:none;border-bottom:2px solid var(--line-strong);text-align:center;font-size:36px;font-weight:500;letter-spacing:20px;padding:18px 18px 18px 20px;color:var(--ink);outline:none;font-family:var(--font-display)}.pin-box input:focus{border-bottom-color:var(--personal)}.pin-box .err{color:var(--urgent);font-size:13px;margin-top:10px;min-height:18px}.pin-box .enter-btn{margin-top:20px;padding:14px 28px;background:var(--ink);color:var(--cream);border-radius:999px;font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase}.home{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;position:relative;z-index:2}.home-mark{font-style:italic;font-size:14px;color:var(--ink-muted);letter-spacing:.15em;margin-bottom:16px;text-transform:uppercase}.home-mark,.home-title{font-family:var(--font-display)}.home-title{font-weight:400;font-size:clamp(56px,14vw,92px);line-height:.9;letter-spacing:-.04em;margin:0 0 12px;text-align:center}.home-title em{font-style:italic;color:var(--personal);font-weight:500}.home-sub{font-size:16px;color:var(--ink-soft);margin-bottom:48px;text-align:center;max-width:400px}.home-choices{display:flex;gap:12px;flex-direction:column;width:100%;max-width:340px}.home-btn{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#fefcf8;border:1px solid var(--line);border-radius:var(--radius-lg);font-size:17px;font-weight:500;color:var(--ink);transition:all .25s cubic-bezier(.2,.8,.2,1)}.home-btn:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 8px 24px -8px rgba(42,36,32,.1)}.home-btn .arrow{font-family:var(--font-display);font-style:italic;color:var(--personal);font-size:22px}.install-btn{position:fixed;top:16px;right:16px;padding:6px 14px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--cream);border-radius:999px;z-index:50}.footer{text-align:center;font-family:var(--font-display);font-style:italic;font-size:12px;color:var(--ink-muted);padding:32px 0 16px;letter-spacing:.03em}.push-bell{gap:8px;margin-left:8px}.bell,.push-bell{display:inline-flex;align-items:center}.bell{gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:999px;transition:all .2s;cursor:pointer}.bell:hover{border-color:var(--line-strong);color:var(--ink)}.bell:disabled{opacity:.5;cursor:wait}.bell.active{color:var(--repairs-deep);border-color:var(--repairs);background:var(--repairs-bg)}.bell.denied{color:var(--urgent);border-color:var(--urgent);background:var(--urgent-bg)}.bell.ios-hint{color:var(--trabajo-deep);border-color:var(--trabajo);background:var(--trabajo-bg)}.bell-msg{font-size:11px;color:var(--ink-muted);font-style:italic}.modal-overlay{position:fixed;inset:0;background:rgba(42,36,32,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadein .2s ease}.modal{background:var(--cream);border-radius:var(--radius-lg);padding:28px;max-width:420px;width:100%;box-shadow:0 20px 60px -10px rgba(42,36,32,.3);animation:fadein .3s ease}.modal h3{font-family:var(--font-display);font-weight:500;font-size:22px;margin:0 0 12px;letter-spacing:-.01em}.modal p{color:var(--ink-soft);line-height:1.5}.modal ol,.modal p{font-size:14px;margin:0 0 14px}.modal ol{padding-left:20px;color:var(--ink);line-height:1.65}.modal ol li{margin-bottom:6px}.modal ol li strong{color:var(--personal);font-weight:600}.modal .hint{font-size:12px;color:var(--ink-muted);font-style:italic;padding:10px 12px;background:var(--cream-deep);border-radius:var(--radius);margin-bottom:14px}.modal .btn{width:100%;margin-top:4px}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadein-stagger{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ticket:first-child{animation-delay:.02s}.ticket:nth-child(2){animation-delay:.06s}.ticket:nth-child(3){animation-delay:.1s}.ticket:nth-child(4){animation-delay:.14s}.ticket:nth-child(5){animation-delay:.18s}.ticket:nth-child(6){animation-delay:.22s}.hidden{display:none!important}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}