:root{--cream:#fbf6ed;--paper:#fff;--paper-2:#fffbf5;--ink:#2b2620;--ink-soft:#7a7064;--ink-faint:#a89c8c;--orange:#d9663a;--orange-deep:#b5481f;--orange-soft:#f8e5d6;--orange-tint:#fcf1e8;--green:#3e6e48;--green-deep:#2c5235;--green-soft:#e2ebdd;--green-tint:#eff4eb;--amber:#c98a1e;--amber-soft:#f6ebd0;--line:#ebe1d2;--line-strong:#ddd0bc;--shadow:0 1px 2px #503c1e0d, 0 8px 24px #5a411e12;--shadow-lg:0 10px 40px #50371429;--pane-w:430px;--radius:16px;--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(1200px 600px at 100% -10%, var(--orange-tint), transparent 60%), radial-gradient(1100px 700px at -10% 110%, var(--green-tint), transparent 55%), var(--cream);-webkit-font-smoothing:antialiased;background-attachment:fixed;line-height:1.45}.layout{align-items:flex-start;display:flex}.sidebar{z-index:45;background:var(--paper);border-right:1px solid var(--line);flex-direction:column;flex:0 0 214px;gap:8px;width:214px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.side-brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:6px 8px 16px;display:flex}.side-brand .mark{color:#fff;background:linear-gradient(150deg,var(--orange),var(--orange-deep));border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 6px 16px #b5481f4d}.side-brand .mark svg{width:26px;height:26px}.side-brand .name{font-family:var(--serif);color:var(--ink);font-size:1.02rem;font-weight:600;line-height:1.1}.side-brand .sub{color:var(--ink-soft);margin-top:2px;font-size:.68rem}.side-nav{flex-direction:column;flex:auto;gap:4px;padding-top:6px;display:flex}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding-top:8px;display:flex}.nav-item{cursor:pointer;font-family:var(--sans);color:var(--ink-soft);text-align:left;background:0 0;border:none;border-radius:11px;align-items:center;gap:11px;width:100%;padding:11px 12px;font-size:.94rem;font-weight:600;transition:background .14s,color .14s,box-shadow .14s;display:flex;position:relative}.nav-item svg{flex:none;width:19px;height:19px}.nav-item:hover{background:var(--cream);color:var(--ink)}.nav-item.active{background:var(--green-tint);color:var(--green-deep);box-shadow:inset 3px 0 0 var(--green)}.side-foot .nav-item{font-size:.88rem;font-weight:500}.main-area{flex:auto;min-width:0}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.fiche-head.soin{background:linear-gradient(140deg,var(--green) 0%,var(--green-deep) 70%,#1f3d27 100%)}.facture-link{border:1px solid var(--line-strong);background:var(--paper);color:var(--green-deep);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-top:4px;padding:8px 13px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .14s;display:inline-flex}.facture-link:hover{border-color:var(--green);background:var(--green-tint)}.facture-link svg{flex:none;width:16px;height:16px}.cout-val{font-variant-numeric:tabular-nums;font-weight:600}.care-block{border-top:1px solid var(--line);background:var(--paper-2);padding:16px 22px}.care-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;display:flex}.care-head .ttl{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.74rem;font-weight:700}.btn-soin{border:1px solid var(--green);background:var(--green-tint);color:var(--green-deep);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:600;transition:all .14s;display:inline-flex}.btn-soin:hover{background:var(--green-soft)}.btn-soin svg{width:14px;height:14px}.care-list{flex-direction:column;gap:6px;display:flex}.care-row{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:9px 11px;transition:border-color .14s,background .14s;display:flex}.care-row:hover{border-color:var(--green);background:var(--green-tint)}.care-row .c-date{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:none;width:88px;font-size:.78rem}.care-row .c-nature{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.care-row .c-chev{color:var(--ink-faint);flex:none;font-size:.74rem}.care-empty{color:var(--ink-faint);font-size:.85rem;font-style:italic}.t-paper{color:var(--green-deep);display:inline-flex}.t-paper svg{width:16px;height:16px}a.paper-link{cursor:pointer;border-radius:8px;padding:4px;transition:background .14s}a.paper-link:hover{background:var(--green-tint)}.t-none{color:var(--ink-faint)}@media (width<=860px){.layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;flex:none;align-items:center;gap:6px;width:100%;height:auto;padding:8px 12px;position:static;overflow-x:auto}.side-brand{border-bottom:none;border-right:1px solid var(--line);flex:none;padding:0 12px 0 2px}.side-brand .name,.side-brand .sub{display:none}.side-nav{flex-direction:row;flex:none;padding-top:0}.side-foot{border-top:none;flex-direction:row;margin-left:auto;padding-top:0}.nav-item.active{box-shadow:none}}.topbar{z-index:40;-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);background:#fbf6eddb;position:sticky;top:0}.topbar:before{content:"";background:linear-gradient(90deg,var(--orange) 0%,var(--orange) 40%,var(--green) 60%,var(--green) 100%);height:4px;display:block}.topbar-inner{flex-wrap:wrap;align-items:center;gap:14px;max-width:1320px;margin:0 auto;padding:14px 24px;display:flex}.brand{align-items:center;gap:13px;margin-right:auto;display:flex}.brand .mark{background:linear-gradient(150deg,var(--orange),var(--orange-deep));color:#fff;border-radius:13px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 6px 16px #b5481f52}.brand .mark svg{width:28px;height:28px}.brand h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:1.42rem;font-weight:600;line-height:1}.brand .sub{color:var(--ink-soft);letter-spacing:.02em;margin-top:3px;font-size:.78rem}.search{flex:260px;min-width:190px;max-width:360px;position:relative}.search svg{width:18px;height:18px;color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search input{width:100%;font-family:var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:12px;outline:none;padding:11px 38px 11px 42px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.search .clear{cursor:pointer;color:var(--ink-faint);background:0 0;border:none;border-radius:8px;place-items:center;width:26px;height:26px;font-size:1.1rem;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search .clear:hover{background:var(--orange-tint);color:var(--orange-deep)}.search.has-value .clear{display:grid}.btn{font-family:var(--sans);cursor:pointer;white-space:nowrap;border:none;border-radius:12px;align-items:center;gap:8px;padding:11px 18px;font-size:.92rem;font-weight:600;transition:transform .12s,box-shadow .15s,background .15s,color .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(150deg,var(--green),var(--green-deep));color:#fff;box-shadow:0 6px 16px #2c523547}.btn-primary:hover{box-shadow:0 8px 22px #2c52355c}.btn-ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line-strong)}.btn-ghost:hover{border-color:var(--green);color:var(--green-deep);background:var(--green-tint)}.btn-danger{background:var(--orange-deep);color:#fff}.btn-danger:hover{background:#9c3c17}.btn svg{width:18px;height:18px}.filterbar{flex-wrap:wrap;align-items:center;gap:12px;max-width:1320px;min-height:30px;margin:0 auto;padding:16px 24px 0;display:flex}.count{color:var(--ink-soft);font-size:.88rem}.count-note{color:var(--ink-faint);font-size:.82rem}.count b{color:var(--ink);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--green-soft);color:var(--green-deep);border:1px solid #cdddc7;border-radius:999px;align-items:center;gap:7px;padding:6px 9px 6px 13px;font-size:.84rem;font-weight:500;display:inline-flex}.chip.search-chip{background:var(--orange-soft);color:var(--orange-deep);border-color:#eccab2}.chip b{font-weight:700}.chip button{color:inherit;cursor:pointer;background:#0000000f;border:none;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.8rem;line-height:1;display:grid}.chip button:hover{background:#00000024}.view-toggle{background:var(--paper);border:1px solid var(--line-strong);border-radius:11px;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.view-toggle button{cursor:pointer;font-family:var(--sans);color:var(--ink-soft);background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:7px 13px;font-size:.84rem;font-weight:600;transition:all .14s;display:inline-flex}.view-toggle button svg{width:16px;height:16px}.view-toggle button:hover{color:var(--green-deep)}.view-toggle button.active{background:var(--green-deep);color:#fff}.workspace{align-items:flex-start;gap:24px;max-width:1320px;margin:0 auto;padding:18px 24px 60px;display:flex}.list-pane{flex:auto;min-width:0}.table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);animation:.35s both cardIn;overflow:hidden}.table-scroll{overflow-x:auto}table.htable{border-collapse:collapse;width:100%;min-width:760px}table.htable thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);background:var(--paper-2);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:14px 16px;font-size:.72rem;font-weight:700}table.htable thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .14s,background .14s}table.htable thead th.sortable:hover{color:var(--green-deep);background:var(--green-tint)}table.htable thead th .th-in{align-items:center;gap:5px;display:inline-flex}table.htable thead th .arrow{opacity:0;width:12px;height:12px;transition:opacity .14s;display:inline-flex}table.htable thead th .arrow svg{width:12px;height:12px}table.htable thead th.sortable:hover .arrow{opacity:.4}table.htable thead th.sorted{color:var(--green-deep)}table.htable thead th.sorted .arrow{opacity:1}table.htable td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px;font-size:.92rem}table.htable tbody tr{cursor:pointer;transition:background .12s}table.htable tbody tr:last-child td{border-bottom:none}table.htable tbody tr:hover{background:var(--green-tint)}table.htable tbody tr.active{background:var(--orange-tint)}table.htable tbody tr.active td:first-child{box-shadow:inset 3px 0 0 var(--orange)}.t-name{align-items:center;gap:11px;min-width:0;display:flex}.t-name .avatar{border-radius:10px;width:36px;height:36px;font-size:1rem}.t-name .nm{font-family:var(--serif);color:var(--ink);font-size:1.05rem;font-weight:600;line-height:1.1}.t-race{color:var(--ink-soft)}.t-date{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap}.t-date.none{color:var(--ink-faint);font-style:italic}.t-sire{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.86rem}.owner-link.table{max-width:230px}.grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));align-items:stretch;gap:16px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);flex-direction:column;height:100%;padding:18px 18px 16px;transition:transform .16s,box-shadow .16s,border-color .16s;animation:.4s both cardIn;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(var(--orange),var(--green));opacity:0;width:4px;transition:opacity .16s;position:absolute;top:0;bottom:0;left:0}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--line-strong);transform:translateY(-3px)}.card:hover:before{opacity:1}.card.active{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange-soft), var(--shadow-lg)}.card.active:before{opacity:1}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card-head{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.avatar{width:46px;height:46px;font-family:var(--serif);color:#fff;border-radius:13px;flex:none;place-items:center;font-size:1.25rem;font-weight:600;display:grid}.card-id{flex:1;min-width:0}.card h3{font-family:var(--serif);letter-spacing:-.01em;-webkit-line-clamp:2;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;-webkit-box-orient:vertical;font-size:1.18rem;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.card .breed{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.1em;margin-top:3px;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.card .age{color:var(--ink-faint);margin-top:1px;font-size:.76rem}.sex-tag{letter-spacing:.02em;white-space:nowrap;border-radius:8px;flex:none;margin-top:2px;padding:4px 9px;font-size:.7rem;font-weight:700;display:inline-block}.sex-F{background:var(--orange-soft);color:var(--orange-deep);border:1px solid #eccab2}.sex-M{background:var(--green-soft);color:var(--green-deep);border:1px solid #cdddc7}.sex-H{color:#8b7257;background:#efe7df;border:1px solid #e0d3c2}.owner-link{color:var(--green-deep);background:var(--green-tint);cursor:pointer;border:1px solid #d7e4d0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;max-width:100%;padding:5px 11px;font-size:.84rem;font-weight:600;transition:background .14s,border-color .14s;display:inline-flex}.owner-link:hover{background:var(--green-soft);border-color:var(--green)}.owner-link svg{opacity:.7;flex:none;width:13px;height:13px}.owner-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card .owner-link{margin-bottom:4px}.card-foot{border-top:1px dashed var(--line-strong);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:13px;display:flex}.sire{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.78rem}.sire b{color:var(--ink);letter-spacing:.02em;font-weight:600}.badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:7px;padding:4px 9px;font-size:.7rem;font-weight:700}.badge-wait{background:var(--amber-soft);color:#8a5e10;border:1px solid #ecd7a3}.badge-left{color:#8b7257;background:#efe7df;border:1px solid #e0d3c2}.empty{text-align:center;color:var(--ink-soft);grid-column:1/-1;padding:60px 20px}.empty svg{width:90px;height:90px;color:var(--line-strong);margin-bottom:14px}.empty h3{font-family:var(--serif);color:var(--ink);margin-bottom:6px;font-size:1.3rem;font-weight:600}.list-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:30px;display:flex;position:relative}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pagination button{cursor:pointer;border:1px solid var(--line-strong);background:var(--paper);min-width:38px;height:38px;color:var(--ink);font-family:var(--sans);border-radius:10px;padding:0 11px;font-size:.9rem;font-weight:600;transition:all .14s}.pagination button:hover:not(:disabled){border-color:var(--green);color:var(--green-deep)}.pagination button.current{background:var(--green-deep);border-color:var(--green-deep);color:#fff}.pagination button:disabled{opacity:.4;cursor:default}.pagination .dots{color:var(--ink-faint);padding:0 4px}.pagesize{color:var(--ink-soft);align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.pagesize select{font-family:var(--sans);color:var(--ink);border:1px solid var(--line-strong);background:var(--paper);cursor:pointer;border-radius:10px;outline:none;padding:8px 10px;font-size:.88rem;font-weight:600;transition:border-color .14s,box-shadow .14s}.pagesize select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint)}.filter-check{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink-soft);border:1px solid var(--line-strong);background:var(--paper);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 8px;font-size:.85rem;font-weight:600;transition:all .14s;display:inline-flex}.filter-check:hover{border-color:var(--green);color:var(--green-deep)}.filter-check input{width:17px;height:17px;accent-color:var(--green);cursor:pointer;flex:none}.filter-check.on{background:var(--green-tint);color:var(--green-deep);border-color:#cdddc7}.detail-pane{flex:0 0 0;align-self:stretch;width:0;transition:flex-basis .42s cubic-bezier(.33,.1,.25,1),width .42s cubic-bezier(.33,.1,.25,1);overflow:hidden}.detail-pane.open{flex:0 0 var(--pane-w);width:var(--pane-w)}.detail-pane.sticky-open{overflow:visible}.fiche{width:var(--pane-w);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path .42s cubic-bezier(.33,.1,.25,1),opacity .28s 40ms;position:relative;top:0;overflow:hidden}.detail-pane.open .fiche{clip-path:inset(0);opacity:1}.detail-pane.sticky-open .fiche{position:sticky;top:96px}.fiche-head{color:#fff;background:linear-gradient(140deg,var(--orange) 0%,var(--orange-deep) 65%, #8c3514 100%);padding:24px 22px 20px;position:relative}.fiche-head .close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:10px;place-items:center;width:34px;height:34px;transition:background .14s,transform .14s;display:grid;position:absolute;top:16px;right:16px}.fiche-head .close:hover{background:#ffffff57;transform:rotate(90deg)}.fiche-head .close svg{width:18px;height:18px}.fiche-head .fiche-avatar{width:62px;height:62px;font-family:var(--serif);background:#ffffff2e;border:1.5px solid #fff6;border-radius:16px;place-items:center;margin-bottom:14px;font-size:1.7rem;font-weight:600;display:grid}.fiche-head h2{font-family:var(--serif);letter-spacing:-.01em;padding-right:40px;font-size:1.7rem;font-weight:600;line-height:1.05}.fiche-head .head-meta{opacity:.92;margin-top:6px;font-size:.88rem}.fiche-body{max-height:calc(100vh - 290px);padding:8px 22px 22px;overflow-y:auto}.field-row{border-bottom:1px solid var(--line);gap:14px;padding:14px 0;display:flex}.field-row:last-child{border-bottom:none}.field-row .ico{background:var(--green-tint);width:34px;height:34px;color:var(--green-deep);border-radius:9px;flex:none;place-items:center;display:grid}.field-row .ico svg{width:17px;height:17px}.field-row .fcontent{flex:1;min-width:0}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.74rem;font-weight:700}.field-value{color:var(--ink);overflow-wrap:break-word;margin-top:2px;font-size:.98rem}.field-value.muted{color:var(--ink-faint);font-style:italic;font-weight:400}.filiation{flex-direction:column;gap:10px;margin-top:6px;display:flex}.par{align-items:baseline;gap:12px;display:flex}.par-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);flex:none;width:42px;font-size:.68rem;font-weight:700}.par-val{color:var(--ink);word-break:normal;overflow-wrap:break-word;min-width:0;font-size:.96rem}.par-val.muted{color:var(--ink-faint);font-style:italic}.par-ref{background:var(--orange-tint);color:var(--orange-deep);cursor:pointer;border:1px solid #eccab2;border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:.9rem;font-weight:600;transition:background .14s,border-color .14s;display:inline-flex}.par-ref:hover{background:var(--orange-soft);border-color:var(--orange)}.par-ref svg{flex:none;width:13px;height:13px}.descendance{border-top:1px dashed var(--line);margin-top:2px;padding-top:11px}.desc-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:8px;font-size:.68rem;font-weight:700}.par-vals{flex-wrap:wrap;gap:6px;display:flex}.par-vals .par-ref{background:var(--green-tint);color:var(--green-deep);border-color:#d7e4d0}.par-vals .par-ref:hover{background:var(--green-soft);border-color:var(--green)}.fiche-actions{border-top:1px solid var(--line);background:var(--paper-2);gap:10px;padding:16px 22px;display:flex}.fiche-actions .btn{flex:1;justify-content:center}.overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2b26206b;justify-content:center;align-items:flex-start;padding:40px 18px;display:none;position:fixed;inset:0;overflow-y:auto}.overlay.open{animation:.2s fade;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--cream);border-radius:20px;width:100%;max-width:620px;margin:auto 0;animation:.26s cubic-bezier(.2,.9,.3,1.2) pop;overflow:hidden;box-shadow:0 30px 80px #28190566}@keyframes pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.modal-head{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:12px;padding:22px 26px;display:flex}.modal-head .mh-ico{background:var(--orange-soft);width:42px;height:42px;color:var(--orange-deep);border-radius:12px;flex:none;place-items:center;display:grid}.modal-head .mh-ico svg{width:22px;height:22px}.modal-head h2{font-family:var(--serif);font-size:1.4rem;font-weight:600}.modal-head p{color:var(--ink-soft);font-size:.85rem}.modal-body{padding:22px 26px}.modal-foot{background:var(--paper);border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 26px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.fld{flex-direction:column;gap:6px;display:flex}.fld.full{grid-column:1/-1}label.lbl{color:var(--ink);font-size:.82rem;font-weight:600}label.lbl .req{color:var(--orange-deep)}.fld input[type=text],.fld input[type=date],.fld input[type=number],.fld input[type=email],.fld input[type=password],.fld textarea,.fld select{font-family:var(--sans);color:var(--ink);border:1px solid var(--line-strong);background:var(--paper);border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:.95rem;transition:border-color .14s,box-shadow .14s}.fld input[type=number]{appearance:textfield}.fld input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fld input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-euro{position:relative}.input-euro input{padding-right:30px}.input-euro:after{content:"€";color:var(--ink-soft);pointer-events:none;font-size:.95rem;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.fld textarea{resize:vertical;min-height:70px}.combobox{position:relative}.combobox .cb-input{padding-right:34px}.cb-caret{width:16px;height:16px;color:var(--ink-faint);pointer-events:none;transition:transform .15s;position:absolute;top:13px;right:12px}.combobox.open .cb-caret{transform:rotate(180deg)}.cb-list{z-index:30;background:var(--paper);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);border-radius:10px;max-height:210px;padding:5px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox.open .cb-list{display:block}.combobox.up .cb-list{top:auto;bottom:calc(100% + 4px)}.cb-opt{cursor:pointer;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;padding:8px 11px;font-size:.92rem;overflow:hidden}.cb-opt:hover,.cb-opt.active{background:var(--green-tint)}.cb-opt.sel{color:var(--green-deep);font-weight:600}.cb-empty{color:var(--ink-faint);padding:9px 11px;font-size:.88rem;font-style:italic}.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint)}.fld input.invalid,.fld select.invalid{border-color:var(--orange-deep);box-shadow:0 0 0 3px var(--orange-soft)}.err{color:var(--orange-deep);min-height:0;font-size:.78rem;font-weight:600;display:none}.err.show{display:block}.owner-box{background:var(--green-tint);border:1px solid #d7e4d0;border-radius:14px;grid-column:1/-1;padding:16px}.owner-box .box-title{color:var(--green-deep);align-items:center;gap:7px;margin-bottom:12px;font-size:.82rem;font-weight:700;display:flex}.owner-box .box-title svg{width:16px;height:16px}.new-owner{border-top:1px dashed #c4d6bc;margin-top:14px;padding-top:14px;display:none}.new-owner.show{display:block}.seg{background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;margin-bottom:13px;padding:3px;display:inline-flex}.seg label{cursor:pointer;color:var(--ink-soft);border-radius:8px;padding:7px 14px;font-size:.85rem;font-weight:600;transition:all .14s}.seg input{display:none}.seg input:checked+label{background:var(--green-deep);color:#fff}.new-race{border:1px dashed var(--line-strong);background:var(--orange-tint);border-radius:12px;margin-top:12px;padding:14px;display:none}.new-race.show{display:block}.sire-wrap input:disabled{color:var(--ink-faint);cursor:not-allowed;background:#f1ece2}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-top:9px;display:flex}.check input{width:18px;height:18px;accent-color:var(--orange);cursor:pointer}.check span{color:var(--ink-soft);font-size:.85rem}.race-list{flex-direction:column;gap:8px;max-height:320px;margin-bottom:18px;padding-right:2px;display:flex;overflow-y:auto}.race-row{background:var(--paper);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.race-row.editing{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange-soft)}.race-sigle{font-family:var(--sans);letter-spacing:.04em;color:#fff;background:linear-gradient(150deg,var(--green),var(--green-deep));text-align:center;border-radius:8px;flex:none;min-width:46px;padding:6px 9px;font-size:.78rem;font-weight:700}.race-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.race-use{color:var(--ink-faint);flex:none;font-size:.78rem}.race-acts{flex:none;gap:6px;display:flex}.icon-btn{border:1px solid var(--line-strong);background:var(--paper);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:9px;place-items:center;transition:all .14s;display:grid}.icon-btn svg{width:16px;height:16px}.icon-btn:hover{border-color:var(--green);color:var(--green-deep);background:var(--green-tint)}.icon-btn.danger:hover{border-color:var(--orange-deep);color:var(--orange-deep);background:var(--orange-tint)}.race-editor{background:var(--green-tint);border:1px solid #d7e4d0;border-radius:14px;padding:16px}.race-editor .box-title{color:var(--green-deep);align-items:center;gap:7px;margin-bottom:12px;font-size:.82rem;font-weight:700;display:flex}.box-title svg{flex:none;width:16px;height:16px}.race-empty{text-align:center;color:var(--ink-faint);padding:24px;font-style:italic}.race-msg{color:var(--orange-deep);min-height:0;margin-top:10px;font-size:.82rem;font-weight:600;display:none}.race-msg.show{display:block}.settings-hint{background:var(--green-tint);color:var(--green-deep);border:1px solid #d7e4d0;border-radius:12px;gap:10px;margin-top:16px;padding:13px 15px;font-size:.84rem;line-height:1.4;display:flex}.settings-hint svg{opacity:.8;flex:none;width:18px;height:18px;margin-top:1px}.settings-saved{color:var(--green-deep);margin-top:12px;font-size:.85rem;font-weight:600;display:none}.settings-saved.show{display:block}.login-gate{z-index:200;background:radial-gradient(1000px 600px at 100% -10%, var(--orange-tint), transparent 60%), radial-gradient(900px 600px at -10% 110%, var(--green-tint), transparent 55%), var(--cream);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.login-card{background:var(--paper);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow-lg);text-align:center;border-radius:22px;padding:34px 30px;animation:.3s cubic-bezier(.2,.9,.3,1.2) pop}.login-mark{color:#fff;background:linear-gradient(150deg,var(--orange),var(--orange-deep));border-radius:16px;place-items:center;width:60px;height:60px;margin:0 auto 16px;display:grid;box-shadow:0 8px 20px #b5481f52}.login-mark svg{width:36px;height:36px}.login-card h1{font-family:var(--serif);letter-spacing:-.01em;font-size:1.5rem;font-weight:600}.login-sub{color:var(--ink-soft);margin-top:5px;margin-bottom:22px;font-size:.88rem}.login-fields{text-align:left;flex-direction:column;gap:14px;display:flex}.login-fields input{font-family:var(--sans);color:var(--ink);border:1px solid var(--line-strong);background:var(--paper);border-radius:11px;outline:none;width:100%;padding:11px 13px;font-size:.95rem;transition:border-color .14s,box-shadow .14s}.login-fields input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint)}.login-btn{justify-content:center;margin-top:4px}.login-error{color:var(--orange-deep);font-size:.82rem;font-weight:600;display:none}.login-error.show{display:block}.login-state{color:var(--ink-faint);min-height:1em;margin-top:14px;font-size:.78rem}.avatar.has-image,.fiche-avatar.has-image,.image-preview.has-image{background-position:50%;background-repeat:no-repeat;background-size:cover}.fiche-avatar.has-image{color:#0000}.image-field{align-items:center;gap:16px;display:flex}.image-preview{border:1px dashed var(--line-strong);background:var(--cream);border-radius:14px;flex:none;place-items:center;width:84px;height:84px;display:grid}.image-preview:after{content:"Aucune";color:var(--ink-faint);font-size:.72rem}.image-preview.has-image{border-style:solid;border-color:var(--line)}.image-preview.has-image:after{content:""}.image-actions{flex-direction:column;gap:8px;display:flex}.image-pick{cursor:pointer}.dz-hint{color:var(--ink-faint);font-size:.78rem}.image-field.drag .image-preview{border-color:var(--green);background:var(--green-tint)}.dropzone{border:1.5px dashed var(--line-strong);background:var(--cream);border-radius:12px;padding:14px 16px;transition:border-color .14s,background .14s}.dropzone.drag{border-color:var(--green);background:var(--green-tint)}.dz-inner{cursor:pointer;color:var(--ink-soft);align-items:center;gap:11px;font-size:.9rem;display:flex}.dz-inner svg{width:22px;height:22px;color:var(--green-deep);flex:none}.dz-text u{color:var(--green-deep);cursor:pointer}.dz-text small{color:var(--ink-faint)}.dz-file{align-items:center;gap:12px;margin-top:10px;display:flex}.dz-file:empty{display:none}#sf_factureName{color:var(--ink-soft);font-size:.86rem}.clickable-img{cursor:zoom-in}.lightbox{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out;background:#1e1812d1;justify-content:center;align-items:center;padding:32px;animation:.2s fade;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox img{background:var(--paper);cursor:default;border-radius:14px;max-width:92vw;max-height:90vh;animation:.26s cubic-bezier(.2,.9,.3,1.2) pop;box-shadow:0 24px 70px #00000080}.lightbox .lb-close{cursor:pointer;color:#fff;background:#ffffff29;border:none;border-radius:12px;place-items:center;width:42px;height:42px;transition:background .14s,transform .14s;display:grid;position:absolute;top:18px;right:18px}.lightbox .lb-close:hover{background:#ffffff4d;transform:rotate(90deg)}.lightbox .lb-close svg{width:22px;height:22px}.confirm{text-align:center;max-width:420px}.confirm .modal-body{padding:30px 26px 22px}.confirm .warn{background:var(--orange-soft);width:58px;height:58px;color:var(--orange-deep);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.confirm .warn svg{width:30px;height:30px}.confirm h2{font-family:var(--serif);margin-bottom:8px;font-size:1.35rem;font-weight:600}.confirm p{color:var(--ink-soft);font-size:.92rem}.confirm p b{color:var(--ink)}.confirm .modal-foot{justify-content:center}@media (width<=860px){.form-grid{grid-template-columns:1fr}.detail-pane{z-index:70;background:#2b26206b;padding:0;transition:none;display:none;position:fixed;inset:0;flex:none!important;width:100%!important}.detail-pane.open{display:block}.fiche{clip-path:inset(0);opacity:1;border-radius:0;flex-direction:column;width:min(100%,460px);height:100%;max-height:none;margin-left:auto;transition:transform .35s cubic-bezier(.33,.1,.25,1);display:flex;position:static;transform:translate(100%)}.detail-pane.open .fiche{transform:translate(0)}.detail-pane.sticky-open .fiche{position:static;top:auto}.fiche-body{flex:1;max-height:none}}.side-brand .sub{line-height:1.25}.settings-tabs{width:fit-content;margin:0 0 18px;display:flex}.member-email{color:var(--ink-faint);text-overflow:ellipsis;font-size:.78rem;font-weight:400;display:block;overflow:hidden}.account-email{color:var(--ink-soft);margin-bottom:14px;font-size:.9rem}.account-email b{color:var(--ink)}.btn:disabled{opacity:.65;cursor:default}.agenda-bar{flex-wrap:wrap;align-items:center;gap:14px;width:100%;display:flex}.agenda-moniteur{align-items:center;gap:9px;width:280px;display:flex}.agenda-moniteur .combobox{flex:1}.agenda-moniteur input,.agenda-moniteur .cb-input{font-family:var(--sans);border:1px solid var(--line-strong);background:var(--paper);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:9px 30px 9px 11px;font-size:.92rem}.agenda-nav{align-items:center;gap:6px;display:flex}.agenda-nav .btn{padding:9px 13px}.agenda-title{font-family:var(--serif);margin-left:8px;font-weight:600}.agenda-hours{align-items:center;gap:7px;margin-left:auto;display:flex}.week-picker .datepicker input,.week-picker input{font-family:var(--sans);border:1px solid var(--line-strong);background:var(--paper);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:9px 32px 9px 10px;font-size:.9rem}.settings-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);max-width:760px;box-shadow:var(--shadow);padding:24px 26px}.settings-title{font-family:var(--serif);margin-bottom:16px;font-size:1.3rem;font-weight:600}.settings-actions{justify-content:flex-end;margin-top:18px;display:flex}.contact-block{border-bottom:1px dashed #c4d6bc;margin-bottom:14px;padding-bottom:14px}.contact-remove{margin-top:10px;padding:7px 11px;font-size:.82rem}.eleve-form{grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;margin-top:10px;display:grid}.engage-form{flex-direction:column;gap:7px;margin-top:10px;display:flex}.engage-form .btn-soin{align-self:flex-end}.eleve-form .cb-input,.engage-form .cb-input{font-family:var(--sans);border:1px solid var(--line-strong);background:var(--paper);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:9px 30px 9px 11px;font-size:.9rem}@media (width<=860px){.eleve-form{grid-template-columns:1fr}.topbar-actions{flex-wrap:wrap;margin-left:0}.topbar-actions .btn{padding:9px 13px}.settings-panel{padding:18px 16px}}.popover{z-index:300;background:var(--paper);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);border-radius:10px;position:fixed}.popover.cb-popover{padding:5px;overflow-y:auto}.combobox.compact{width:84px}.combobox.compact .cb-input{font-family:var(--sans);color:var(--ink);border:1px solid var(--line-strong);background:var(--paper);border-radius:10px;outline:none;width:100%;padding:8px 28px 8px 10px;font-size:.88rem;font-weight:600}.combobox.compact .cb-caret{top:11px;right:8px}.combobox .cb-input.invalid{border-color:var(--orange-deep);box-shadow:0 0 0 3px var(--orange-soft)}.combobox input:disabled{color:var(--ink-faint);cursor:not-allowed;background:#f1ece2}.multi-combobox{border:1px solid var(--line-strong);background:var(--paper);cursor:text;border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px;min-height:42px;padding:5px 30px 5px 7px;transition:border-color .14s,box-shadow .14s;display:flex;position:relative}.multi-combobox.focused{border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint)}.multi-combobox.invalid{border-color:var(--orange-deep);box-shadow:0 0 0 3px var(--orange-soft)}.multi-combobox .tag{background:var(--green-soft);color:var(--green-deep);border-radius:7px;align-items:center;gap:5px;padding:3px 5px 3px 9px;font-size:.84rem;font-weight:600;display:inline-flex}.multi-combobox .tag button{color:inherit;cursor:pointer;background:#00000012;border:none;border-radius:50%;width:16px;height:16px;font-size:.7rem;line-height:1}.fld .multi-combobox input,.multi-combobox input{width:auto;min-width:70px;box-shadow:none;font-family:var(--sans);color:var(--ink);background:0 0;border:none;outline:none;flex:70px;padding:4px;font-size:.95rem}.multi-combobox .cb-caret{top:13px;right:10px}.datepicker{position:relative}.datepicker .dp-caret{width:17px;height:17px;color:var(--ink-faint);pointer-events:none;position:absolute;top:12px;right:11px}.dp-popover{-webkit-user-select:none;user-select:none;width:268px;padding:10px}.dp-head{align-items:center;gap:2px;margin-bottom:8px;display:flex}.dp-title{cursor:pointer;color:var(--ink);font-family:var(--serif);text-transform:capitalize;background:0 0;border:none;border-radius:8px;flex:1;padding:4px 6px;font-size:.98rem;font-weight:600}.dp-title:hover{background:var(--green-tint);color:var(--green-deep)}.dp-nav{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:.95rem}.dp-nav:hover{background:var(--green-tint);color:var(--green-deep)}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-dow{text-align:center;color:var(--ink-faint);padding:3px 0;font-size:.68rem;font-weight:700}.dp-day{height:32px;color:var(--ink);cursor:pointer;font-family:var(--sans);background:0 0;border:none;border-radius:8px;font-size:.86rem}.dp-day:hover{background:var(--green-tint)}.dp-day.outside{color:var(--ink-faint)}.dp-day.today{box-shadow:inset 0 0 0 1px var(--green)}.dp-day.selected{background:var(--green-deep);color:#fff}.dp-years{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.dp-year{height:44px;color:var(--ink);cursor:pointer;font-family:var(--sans);background:0 0;border:none;border-radius:8px;font-size:.9rem}.dp-year:hover{background:var(--green-tint)}.dp-year.today{box-shadow:inset 0 0 0 1px var(--green)}.dp-year.selected{background:var(--green-deep);color:#fff}.dp-foot{text-align:center;margin-top:6px}.dp-foot button{color:var(--green-deep);font-family:var(--sans);cursor:pointer;background:0 0;border:none;font-size:.82rem;font-weight:600}.toasts{z-index:400;flex-direction:column;gap:10px;max-width:min(380px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--green);box-shadow:var(--shadow-lg);color:var(--ink);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;font-size:.9rem;animation:.22s cubic-bezier(.2,.9,.3,1.2) pop;display:flex}.toast.error{border-left-color:var(--orange-deep)}.toast span{flex:1}.toast button{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;font-size:.8rem}.tabs{flex-wrap:wrap;max-width:100%;display:inline-flex}.menu-list{min-width:240px;padding:5px}.menu-list button{text-align:left;cursor:pointer;width:100%;font-family:var(--sans);color:var(--ink);background:0 0;border:none;border-radius:8px;padding:9px 11px;font-size:.9rem;display:block}.menu-list button:hover{background:var(--green-tint)}.menu-list small{color:var(--ink-faint);font-size:.76rem;display:block}.pagination.small button{border-radius:8px;min-width:30px;height:30px;padding:0 8px;font-size:.8rem}.list-foot.small{margin-top:10px}.week-picker{align-items:center;gap:8px;display:inline-flex}.week-picker .wp-label{font-family:var(--serif);text-align:center;min-width:212px;font-size:1.02rem;font-weight:600}.week-picker .datepicker{width:142px}.choice{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;display:flex}.choice input{width:18px;height:18px;accent-color:var(--green);cursor:pointer}.choice span{color:var(--ink-soft);font-size:.88rem}.cal-week,.cal-month{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;overflow:hidden}.cal-head,.cal-allday,.cal-body{grid-template-columns:58px 1fr;display:grid}.cal-head,.cal-allday{border-bottom:1px solid var(--line-strong);background:var(--paper-2);grid-template-columns:58px repeat(7,1fr)}.cal-day-head{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-left:1px solid var(--line);padding:10px 6px;font-size:.76rem;font-weight:700}.cal-day-head.today{color:var(--green-deep);background:var(--green-tint)}.cal-allday-cell{border-left:1px solid var(--line);flex-direction:column;gap:3px;min-height:30px;padding:4px;display:flex}.cal-hours{position:relative}.cal-hour{color:var(--ink-faint);text-align:right;font-variant-numeric:tabular-nums;padding:2px 7px 0 0;font-size:.72rem}.cal-columns{grid-template-columns:repeat(7,1fr);display:grid;position:relative}.cal-col{border-left:1px solid var(--line);cursor:cell;position:relative}.cal-col.today{background:var(--green-tint)}.cal-line{border-top:1px solid var(--line);pointer-events:none;position:absolute;left:0;right:0}.cal-event{cursor:grab;touch-action:none;color:#fff;background:linear-gradient(150deg, var(--green), var(--green-deep));z-index:2;border:1px solid #ffffff8c;border-radius:7px;padding:3px 5px;font-size:.75rem;line-height:1.2;position:absolute;overflow:hidden}.cal-event.locked{cursor:pointer}.cal-event.dragging{opacity:.86;box-shadow:var(--shadow-lg);z-index:5;cursor:grabbing}.cal-event b{opacity:.9;font-size:.68rem;font-weight:600;display:block}.cal-event span{font-weight:600;display:block}.cal-event small{opacity:.85;display:block}.cal-handle{cursor:ns-resize;touch-action:none;height:7px;position:absolute;left:0;right:0}.cal-handle.top{top:0}.cal-handle.bottom{bottom:0}.cal-note{color:var(--ink-faint);border-top:1px solid var(--line);padding:8px 12px;font-size:.8rem}.cal-chip{text-align:left;width:100%;font-family:var(--sans);color:#fff;background:var(--green);white-space:nowrap;text-overflow:ellipsis;cursor:grab;touch-action:none;border:none;border-radius:6px;padding:2px 6px;font-size:.74rem;line-height:1.35;display:block;overflow:hidden}.cal-chip.concours{background:var(--orange-deep);cursor:pointer}.cal-chip.dragging{opacity:.35}.cal-ghost{z-index:350;pointer-events:none;width:150px;box-shadow:var(--shadow-lg);position:fixed;transform:translate(-50%,-50%)}.cal-month-head{background:var(--paper-2);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(7,1fr);display:grid}.cal-month-head div{text-align:center;text-transform:uppercase;color:var(--ink-faint);padding:9px 6px;font-size:.74rem;font-weight:700}.cal-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(104px,auto);display:grid}.cal-month-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:cell;flex-direction:column;gap:3px;min-width:0;padding:4px;display:flex}.cal-month-cell:nth-child(7n){border-right:none}.cal-month-cell.outside{background:var(--paper-2)}.cal-month-cell.outside .cal-month-num{color:var(--ink-faint)}.cal-month-cell.today .cal-month-num{background:var(--green-deep);color:#fff}.cal-month-cell.drop{background:var(--green-soft)}.cal-month-num{text-align:center;pointer-events:none;border-radius:7px;align-self:flex-end;min-width:22px;font-size:.76rem;font-weight:600}.cal-more{color:var(--ink-soft);font-family:var(--sans);text-align:left;cursor:pointer;background:0 0;border:none;font-size:.72rem}@media (width<=860px){.cal-week,.cal-month{overflow-x:auto}.cal-head,.cal-allday,.cal-body,.cal-month-head,.cal-month-grid{min-width:720px}}.notice-warning{background:var(--amber-soft);color:#8a5e10;border:1px solid #ecd7a3;border-radius:12px;gap:9px;padding:11px 13px;font-size:.86rem;line-height:1.4;display:flex}.notice-warning svg{flex:none;width:18px;height:18px;margin-top:1px}
