.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:28px;padding:40px 20px}
.brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none}
.brand-name{font-family:var(--serif);font-size:28px;letter-spacing:-.02em}
.auth-card{width:100%;max-width:440px;padding:28px;display:flex;flex-direction:column;gap:20px}
.tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:6px;padding:3px}
.seg{min-height:44px;padding:0 16px;border:0;border-radius:4px;background:transparent;color:var(--mute);font:500 15px var(--sans);cursor:pointer}
.seg[aria-selected=true],.seg[aria-pressed=true]{background:var(--fg);color:var(--ink-on)}
.form{display:flex;flex-direction:column;gap:16px}
.check{flex-direction:row;align-items:flex-start;gap:10px}.check input{width:20px;min-height:20px;margin-top:2px}
.hint{margin:0;font-size:14px;color:var(--mute);line-height:1.5}
.notice{background:#FFF3D6;border-left:3px solid #C58A10;padding:10px 14px;font-size:14px;color:#6b3a00}

.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:14px clamp(16px,3vw,40px);border-bottom:1px solid var(--line);background:var(--panel)}
.topbar nav{display:flex;gap:6px 22px;flex:1;flex-wrap:wrap}
.navl{text-decoration:none;font-size:15px;min-height:44px;display:inline-flex;align-items:center;color:var(--mute);border-bottom:2px solid transparent}
.navl:hover,.navl.cur{color:var(--fg)}.navl.cur{border-color:var(--accent)}
.linkbtn{background:none;border:0;border-bottom:2px solid transparent;font-family:var(--sans);cursor:pointer;padding:0}
.trial{display:flex;align-items:center;gap:10px;font:500 12px var(--mono);letter-spacing:.06em;color:var(--mute)}
.pips{display:inline-flex;gap:5px}.pips i{width:9px;height:9px;border-radius:50%;border:1px solid var(--fg)}.pips i.u{background:var(--fg)}
.shell{max-width:1280px;margin:0 auto;padding:26px clamp(16px,3vw,40px) 80px;display:flex;flex-direction:column;gap:24px}
.tracker{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.tracker li{padding:10px 0;border-top:2px solid var(--line);font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);transition:all .4s}
.tracker li.on{border-color:var(--accent);color:var(--fg)}.tracker li.past{border-color:var(--fg);color:var(--fg)}
@media(max-width:700px){.tracker li{font-size:10px}}
h1.t{margin:0 0 6px;font:400 clamp(30px,4vw,46px)/1.05 var(--serif);letter-spacing:-.025em}
.sub{margin:0;color:var(--mute);line-height:1.6;max-width:640px}

.dz{border:1.5px dashed var(--line);border-radius:10px;background:var(--panel);min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;text-align:center;transition:border-color .3s,background .3s,transform .3s;cursor:pointer}
.dz:hover,.dz.hot{border-color:var(--accent);background:#FBF4F1}.dz.hot{transform:scale(1.01)}
.dz b{font:400 26px var(--serif)}.dz small{color:var(--mute)}
.opts{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}.opts label{min-width:220px;flex:1}
.errbox{margin-top:14px;padding:12px 14px;border-left:3px solid var(--bad);background:#FBEDE9;color:#7A2A18;font-size:14px}

.an{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:28px;align-items:start}
@media(max-width:820px){.an{grid-template-columns:1fr}}
.sheet{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:28px 26px;overflow:hidden;min-height:330px}
.sheet .ln{height:8px;border-radius:2px;background:#E4E1D8;margin:0 0 14px}
.sheet .beam{position:absolute;left:0;right:0;height:56px;top:-70px;background:linear-gradient(to bottom,transparent,rgba(168,64,43,.2),transparent);border-bottom:1.5px solid var(--accent);animation:scan 2.2s cubic-bezier(.5,0,.5,1) infinite}
@keyframes scan{from{top:-70px}to{top:100%}}
.sheet .ln.hit{animation:hit 2.2s ease infinite}
@keyframes hit{0%,100%{background:#E4E1D8}40%{background:#E3B3A6}}
.steps2{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.steps2 li{display:flex;align-items:center;gap:14px;color:var(--mute);transition:color .3s;font-size:16px}
.steps2 li .ic{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:none}
.steps2 li.on{color:var(--fg)}.steps2 li.on .ic{border-color:var(--accent);border-top-color:transparent;animation:spin .9s linear infinite}
.steps2 li.past{color:var(--fg)}.steps2 li.past .ic{background:var(--ok);border-color:var(--ok);position:relative}
.steps2 li.past .ic::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.bignum{font:300 72px/1 var(--serif);letter-spacing:-.04em}.bigcap{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.fname{font:500 13px var(--mono);color:var(--mute);word-break:break-all}

.rv2{display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:start}
@media(max-width:1000px){.rv2{grid-template-columns:1fr}}
.doc{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:30px clamp(18px,3vw,40px);font:400 16px/1.85 var(--serif);max-height:70vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.pg{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:18px 0 8px;display:block;border-top:1px solid var(--line);padding-top:12px}.pg:first-child{margin-top:0;border-top:0;padding-top:0}
mark{background:rgba(168,64,43,.14);box-shadow:inset 0 -2px 0 var(--accent);color:inherit;border-radius:2px;padding:0 .08em;cursor:pointer;transition:background .3s}
mark.rvw{background:rgba(197,138,16,.2);box-shadow:inset 0 -2px 0 #C58A10}
mark.off{background:transparent;box-shadow:none;text-decoration:line-through;text-decoration-color:var(--mute);color:var(--mute)}
mark.flash{background:rgba(168,64,43,.4)}
mark.bar{background:var(--bar);color:transparent;box-shadow:none;position:relative;transition:background-size .5s}
mark.bar::before{content:attr(data-l);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:500 .55em/1 var(--mono);letter-spacing:.06em;color:#F3F1EB;white-space:nowrap}
.panel{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}
.pbox{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px}
.pbox h3{margin:0 0 10px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ents{display:flex;flex-direction:column;max-height:44vh;overflow:auto}
.ent{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 0;border-top:1px solid var(--line);align-items:center}
.ent:first-child{border-top:0}
.ent .lb{font:500 12px var(--mono);letter-spacing:.06em}.ent .vals{font-size:13px;color:var(--mute);cursor:pointer;line-height:1.4;overflow-wrap:anywhere}
.ent.rvw .lb{color:#9A6A00}
.ent .why{grid-column:1/-1;font-size:12px;color:#9A6A00}
.tg{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.tg button{min-height:36px;min-width:44px;padding:0 10px;border:0;background:transparent;font:500 13px var(--sans);cursor:pointer;color:var(--mute)}
.tg button[aria-pressed=true]{background:var(--fg);color:var(--ink-on)}
.tg button.no[aria-pressed=true]{background:var(--mute)}
.addrow{display:flex;gap:8px}.addrow input{min-height:44px}
.sum{font-size:14px;color:var(--mute);line-height:1.5}.sum b{color:var(--fg)}
.cl{display:flex;flex-direction:column;gap:12px;max-width:640px}
.cl .row{display:flex;align-items:center;gap:12px;opacity:.25;transform:translateX(-8px);transition:all .4s;font-size:16px}
.cl .row.on{opacity:1;transform:none}.cl .row .ic{width:20px;height:20px;border-radius:50%;background:var(--ok);position:relative;flex:none}
.cl .row.bad .ic{background:var(--bad)}
.cl .row .ic::after{content:"";position:absolute;left:6.5px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cl .row.bad .ic::after{border:0;left:9px;top:4px;width:2px;height:12px;background:#fff;transform:none}
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
@media(max-width:800px){.res{grid-template-columns:1fr}}
.rcard{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:10px;animation:pop .5s cubic-bezier(.2,.7,.2,1) both}
.rcard:nth-child(2){animation-delay:.1s}.rcard:nth-child(3){animation-delay:.2s}
.rcard b{font:400 20px var(--serif);overflow-wrap:anywhere}.rcard small{color:var(--mute);font-size:13px;line-height:1.5}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.recent{border-top:1px solid var(--line);padding-top:20px}
.recent h2{margin:0 0 10px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.rrow{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.rrow .nm{overflow-wrap:anywhere}.rrow small{color:var(--mute)}
.modal{position:fixed;inset:0;background:rgba(22,22,28,.5);display:grid;place-items:center;padding:20px;z-index:20}
.modal-box{width:100%;max-width:460px;padding:26px;display:flex;flex-direction:column;gap:14px}.modal-box h2{margin:0;font:400 26px var(--serif)}
.plans2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}@media(max-width:700px){.plans2{grid-template-columns:1fr}}
.plan2{border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:20px;display:flex;flex-direction:column;gap:10px}.plan2 b{font:400 26px var(--serif)}.plan2 small{color:var(--mute)}

/* compte */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.grid{grid-template-columns:1fr}}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:6px}
.stat b{font:300 44px/1 var(--serif);letter-spacing:-.03em}.stat span{color:var(--mute);font-size:13px}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}@media(max-width:900px){.two{grid-template-columns:1fr}}
.cardx{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:14px}
.cardx h2{margin:0;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.chart{display:flex;align-items:flex-end;gap:3px;height:120px}.chart i{flex:1;background:var(--fg);min-height:2px;border-radius:1px 1px 0 0;transform-origin:bottom;animation:grow .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes grow{from{transform:scaleY(0)}}
.chart i.z{background:var(--line)}
.quota{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.quota i{display:block;height:100%;background:var(--accent);transition:width .8s}
table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}table.t td{padding:10px 6px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.tag{display:inline-block;padding:2px 8px;border:1px solid var(--line);border-radius:3px;font:500 11px var(--mono);margin:2px 4px 2px 0}
textarea.gl{min-height:110px;padding:12px 14px;font-family:var(--mono);font-size:13px}
.qr{background:#fff;padding:10px;width:max-content;border:1px solid var(--line)}
.doctag{margin-bottom:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
