@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');:root{--navy:#17263b;--gold:#b69a62;--paper:#f6f3ec;--ink:#263244;--line:#e8e3d9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}a{color:#456b88;text-decoration:none}a:hover{text-decoration:underline}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--navy);color:white;padding:22px 15px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:white;font:600 19px 'Playfair Display';padding:5px 8px 25px}.brand:hover{text-decoration:none}.brand i,.logo{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:#e2ce9c;font-style:normal}.brand small{display:block;font:9px 'DM Sans';letter-spacing:1.5px;color:#d2c39d;margin-top:4px}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.sidebar nav a{color:#d5dce4;padding:10px 12px;border-radius:6px}.sidebar nav a.active,.sidebar nav a:hover{background:#2d4058;color:white;text-decoration:none}.sidefoot{margin-top:auto;border-top:1px solid #45556a;padding:15px 8px}.sidefoot small{display:block;color:#b8c0ca;margin:5px 0}.sidefoot a{color:#e0ca91}.main{margin-left:230px;padding:0 30px 50px;max-width:1700px}header{height:92px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header small,.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:bold}header h1{font:600 26px 'Playfair Display';color:var(--navy);margin:4px 0}header span{color:#788391;font-size:12px}.panel,.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:20px;margin-bottom:17px}.panel h2{font:600 18px 'Playfair Display';color:var(--navy);margin:0 0 17px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title h2{margin-bottom:15px}.welcome{background:#eee8dc;padding:24px 28px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.welcome h2{font:600 25px 'Playfair Display';color:var(--navy);margin:8px 0}.welcome p,.muted{color:#788391}.btn,button{display:inline-block;background:var(--navy);color:white;border:0;border-radius:5px;padding:11px 16px;font:600 12px 'DM Sans';cursor:pointer}.btn:hover,button:hover{background:#2d4058;color:white;text-decoration:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.stat{display:block;margin:0;color:var(--ink);padding:15px 17px}.stat span{display:block;color:#788391;font-size:11px}.stat b{display:block;color:var(--navy);font:600 24px 'Playfair Display';margin-top:6px}.stat:hover{border-color:var(--gold);text-decoration:none}.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.form label,.card label{font-size:11px;font-weight:600;color:#687483;display:flex;flex-direction:column;gap:6px}.form input,.form select,.card input{padding:10px;border:1px solid #dddcd7;border-radius:5px;font:13px 'DM Sans';min-width:0}.wide{grid-column:1/-1}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:10px;border-bottom:1px solid #efede8;white-space:nowrap}th{background:#f7f5f0;color:#697482;font-size:10px}.empty{text-align:center;color:#87909b;padding:22px}.red{color:#a84e4e}.flash,.ok{padding:10px 13px;background:#e7f1eb;color:#32674f;border-radius:6px;margin-bottom:14px}.error{padding:10px;background:#f8e9e7;color:#99433f;border-radius:5px}.invoice{max-width:850px}.center{min-height:100vh;display:grid;place-items:center;background:var(--navy)}.card{width:min(460px,calc(100% - 30px));background:white;padding:32px;border-radius:10px;box-shadow:0 20px 50px #0004}.card h1{font:600 27px 'Playfair Display';color:var(--navy);margin:12px 0 5px}.card p{color:#7b8590}.card label{margin:12px 0}.card button{width:100%;margin:12px 0}.card small{color:#77818c}.logo{background:var(--navy);margin:auto}.center .card{text-align:center}.center .card label{text-align:left}@media(max-width:950px){.sidebar{width:195px}.main{margin-left:195px;padding:0 18px 35px}.stats{grid-template-columns:repeat(2,1fr)}.form{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.sidebar{position:static;width:auto;padding:10px}.brand{padding:0 6px 10px}.sidebar nav{flex-direction:row}.sidebar nav a{white-space:nowrap;padding:8px}.sidefoot{display:none}.main{margin:0;padding:0 12px 30px}header{height:70px;margin-bottom:14px}.welcome{display:block;padding:17px}.welcome .btn{margin-top:12px}.stats{gap:7px}.stat{padding:12px}.stat b{font-size:20px}.panel{padding:13px}.form{grid-template-columns:1fr}.wide button{width:100%}}@media print{.sidebar,header,.flash,button{display:none!important}.main{margin:0;padding:0}.panel{border:0}}
