@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#24535a;--sage:#7fa57e;--bg:#f4f7f5;--line:#dce8e2;--muted:#667b78}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#233a3d;font:15px/1.55 'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:#214d55;color:#e8f3ed;padding:27px 18px;display:flex;flex-direction:column;gap:25px}.brand{font-size:24px;font-weight:800;letter-spacing:.06em;display:flex;align-items:center;gap:10px}.brand img{width:38px;height:38px;object-fit:contain;background:white;border-radius:8px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.13em;color:#bdd7c4}.side nav{display:grid;gap:6px}.side nav a{padding:11px 13px;border-radius:10px;color:#d7e8e2}.side nav a:hover,.side nav a.active{background:#ffffff20;color:white}.side .bottom{margin-top:auto;font-size:12px;color:#b6cfc8}.main{min-width:0}.top{background:#fff;border-bottom:1px solid var(--line);padding:16px 34px;display:flex;justify-content:space-between;align-items:center;gap:15px}.top form{display:flex;align-items:center;gap:8px}.content{padding:32px;max-width:1400px;margin:auto}h1{color:var(--ink);font-size:clamp(25px,3vw,34px);margin:0 0 7px;letter-spacing:-.04em}h2{color:var(--ink);font-size:20px;letter-spacing:-.025em}h3{margin:0 0 10px;color:var(--ink)}p.sub{color:var(--muted);margin:0 0 26px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:23px;box-shadow:0 4px 24px #19483d06}.kpi small{display:block;color:var(--muted);margin-bottom:12px}.kpi strong{font-size:27px;color:var(--ink);letter-spacing:-.04em}.panel{margin-top:20px}.flex{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn{display:inline-block;background:var(--ink);color:white;border:0;border-radius:9px;padding:10px 16px;font-weight:700;font-size:13px}.btn.light{background:#e6f1e9;color:var(--ink)}.btn.danger{background:#8e3b42}.btn:focus-visible,a:focus-visible{outline:3px solid #90c4ba;outline-offset:3px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#718480;font-size:11px;text-transform:uppercase;letter-spacing:.06em}th,td{padding:13px 9px;border-bottom:1px solid #e9efeb;vertical-align:top}tr:last-child td{border-bottom:0}.tablewrap{overflow-x:auto}.tag{display:inline-block;background:#e7f1e9;border-radius:40px;padding:4px 9px;color:#35604b;font-size:11px;font-weight:700}.tag.draft{background:#f2efe7;color:#796e52}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:12px;color:#486562}.field input,.field select,.field textarea,.top select{width:100%;border:1px solid #c8d8d1;border-radius:8px;padding:11px;background:white;color:#233a3d}.field textarea{min-height:100px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.alert{background:#e9f2eb;border:1px solid #c6dfcf;padding:12px 16px;border-radius:9px;margin:0 0 18px}.warn{background:#fff7e8;border:1px solid #f0dcae;padding:13px;border-radius:9px;color:#6f5730}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login .card{width:min(440px,100%)}.login .card img{max-width:220px;display:block;margin:0 auto 25px}.login h1{font-size:25px}.login form{display:grid;gap:15px}.login .btn{width:100%}.muted{color:var(--muted)}.footer-note{margin-top:28px;font-size:12px;color:var(--muted)}.invoice{max-width:850px;margin:0 auto;background:white;padding:55px;border:1px solid var(--line)}.invoice-header{display:flex;justify-content:space-between;gap:25px}.invoice-header img{width:210px;max-width:100%}.invoice table{margin-top:35px}.invoice .total{font-size:24px;text-align:right;color:var(--ink);font-weight:800}.invoice address{font-style:normal;white-space:pre-line}.no-print{}@media(max-width:950px){.layout{grid-template-columns:1fr}.side{gap:12px;padding:15px}.side nav{display:flex;overflow:auto}.side nav a{white-space:nowrap}.side .bottom{display:none}.top{padding:12px 18px}.content{padding:20px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.grid,.formgrid{grid-template-columns:1fr}.top{flex-wrap:wrap}.invoice{padding:22px}.invoice-header{flex-direction:column}}@media print{body{background:white}.side,.top,.no-print{display:none!important}.layout{display:block}.content{padding:0;max-width:none}.invoice{border:0;padding:0;max-width:none}.footer-note{display:none}}

/* V3 : documents */
.invoice{position:relative;min-height:800px;border-radius:4px;box-shadow:0 15px 55px #173e3810;padding:62px 62px 48px}.invoice:before{content:"";position:absolute;top:0;left:0;right:0;height:7px;background:linear-gradient(90deg,#24535a 0 68%,#86aa85 68%)}.invoice-header{gap:48px}.invoice-header>div{flex:1;min-width:0}.invoice-header>div:last-child{max-width:290px}.invoice-header h2{font-size:27px;margin:0 0 20px;letter-spacing:.08em}.invoice-header img{width:220px}.invoice-header p{line-height:1.75}.invoice table{margin-top:58px}.invoice th{background:#f1f6f3}.invoice td{padding-top:20px;padding-bottom:20px}.invoice .total{padding:22px 0;border-top:2px solid #dce8e2}.invoice a{color:#24535a;text-decoration:underline;text-underline-offset:3px}.invoice-foot{margin-top:70px;border-top:1px solid #dce8e2;padding-top:20px;text-align:center;font-size:12px;color:#667b78}.client-inline{background:#f6faf7;padding:18px;border:1px solid var(--line);border-radius:12px}@media print{.invoice{min-height:0;box-shadow:none;padding:14mm 10mm}.invoice:before{height:4px}.invoice-foot{margin-top:45px}a[href]:after{content:none!important}}@media(max-width:550px){.invoice{padding:24px}.invoice-header>div:last-child{max-width:none}.client-inline{padding:10px}}
