:root{--green:#183f33;--green2:#285f4c;--gold:#d6a63e;--ink:#24342e;--muted:#728079;--line:#dde3df;--paper:#fff;--bg:#f4f5f2}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Arial,sans-serif;font-size:16px}button,input,textarea{font:inherit}.top{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:74px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{text-align:left;color:var(--green);background:0 0;border:0;align-items:center;gap:12px;font:700 20px Georgia,serif;display:flex}.brand small{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font:600 10px Inter,sans-serif;display:block}.mark{background:var(--green);width:38px;height:38px;color:var(--gold);border-radius:50%;place-items:center;font:700 13px Georgia;display:grid}.mark.large{width:78px;height:78px;margin:auto;font-size:25px}.back{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:9px;padding:9px 13px;font-weight:700}.home{width:min(900px,92vw);margin:7vh auto}.home-head{text-align:center}.home h1{color:var(--green);margin:14px 0 4px;font:700 40px Georgia,serif}.home p{color:var(--muted);margin:0 0 28px}.modules{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modules button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:16px;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;min-height:118px;padding:22px;display:grid;box-shadow:0 8px 25px #173f340c}.modules button:hover{border-color:#9db6aa;transform:translateY(-1px)}.modules i{width:48px;height:48px;color:var(--green2);background:#edf3f0;border-radius:13px;place-items:center;font-size:25px;font-style:normal;display:grid}.modules span{gap:6px;display:grid}.modules b{font:700 20px Georgia,serif}.modules small,.modules em{color:var(--muted);font-style:normal}.workspace,.quote{width:min(1180px,94vw);margin:34px auto}.title{grid-template-columns:1fr auto;align-items:end;margin-bottom:20px;display:grid}.title p{color:var(--gold);letter-spacing:.18em;grid-column:1;margin:0;font-size:11px;font-weight:800}.title h1{color:var(--green);margin:4px 0 0;font:700 34px Georgia,serif}.title span{color:var(--muted);grid-area:1/2/3}.split{grid-template-columns:370px 1fr;gap:22px;display:grid}.split>form,.paper,.quote-grid>aside,.report-list,.cards,.suggestion{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.split form{align-content:start;gap:13px;display:grid}.split h2,.paper h2,aside h2{color:var(--green);margin:0 0 7px;font:700 20px Georgia,serif}label{color:#53635c;gap:6px;font-size:13px;font-weight:700;display:grid}input,textarea{color:var(--ink);background:#fff;border:1px solid #cfd8d3;border-radius:9px;padding:11px}.pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.primary{border-radius:9px;padding:11px 16px;font-weight:800;background:var(--green)!important;color:#fff!important;border:0!important}.primary:disabled{opacity:.45}.cards{align-content:start;gap:0;display:grid}.cards article,.report-list article{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 0;display:flex}.cards article:last-child,.report-list article:last-child{border:0}.cards article div,.report-list article div{flex:1;gap:4px;display:grid}.cards small,.report-list small,aside small{color:var(--muted)}.cards strong{color:var(--green);font-size:20px}.cards button,.report-list button{color:#994838;background:#f7ece9;border:0;border-radius:7px;padding:7px 10px}.report-list a{color:var(--green);font-weight:700}.empty{text-align:center;color:var(--muted);padding:42px}.suggestion{grid-template-columns:240px 1fr auto;align-items:center;gap:14px;margin-top:22px;display:grid}.suggestion h3,.suggestion p{margin:0}.suggestion p{color:var(--muted);font-size:13px}.quote{width:min(1280px,96vw)}.quote-bar{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.quote-bar p{color:var(--gold);letter-spacing:.16em;margin:0;font-size:11px;font-weight:900}.quote-bar h1{margin:3px 0;font:700 30px Georgia,serif}.quote-bar span{color:var(--muted)}.quote-bar>div:last-child{gap:8px;display:flex}.quote-bar button,.toggle button,.add{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 13px}.quote-grid{grid-template-columns:1fr 270px;gap:18px;display:grid}.paper{gap:12px;display:grid}.toggle{gap:6px;display:flex}.toggle button.active{background:var(--green);color:#fff}.line{grid-template-columns:30px 70px 1fr 1.2fr 120px 120px;align-items:center;gap:8px;display:grid}.line input{min-width:0}.line b{text-align:right}.add{color:var(--green);justify-self:start;font-weight:800}.summary{border-top:1px solid var(--line);gap:7px;width:min(330px,100%);margin-left:auto;padding-top:12px;display:grid}.summary span,.summary strong{justify-content:space-between;display:flex}.summary strong{color:var(--green);font-size:21px}.quote-grid aside{align-self:start}.quote-grid aside article{border-bottom:1px solid var(--line);gap:5px;padding:13px 0;display:grid}.toast{background:var(--green);color:#fff;border-radius:10px;padding:13px 18px;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #0003}@media (max-width:800px){.modules,.split,.quote-grid,.suggestion{grid-template-columns:1fr}.line{grid-template-columns:30px 60px 1fr 110px}.line input:nth-of-type(3){grid-column:2/5}.line b{grid-column:4}.quote-bar{flex-direction:column;align-items:flex-start;gap:14px}.modules button{min-height:100px}.title{display:block}.title span{margin-top:8px;display:block}}@media print{.top,.quote-bar>div:last-child,.quote-grid aside,.toast{display:none}.quote{width:100%;margin:0}.quote-grid{display:block}.paper{border:0}.add{display:none}}.login-shell{background:radial-gradient(circle at top,#edf4ef,#f4f5f2 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell>p{color:var(--muted)}.login-card{border:1px solid var(--line);background:#fff;border-radius:20px;gap:15px;width:min(420px,94vw);padding:34px;display:grid;box-shadow:0 20px 55px #173f3418}.login-card h1{color:var(--green);text-align:center;margin:4px 0 0;font:700 30px Georgia,serif}.login-card>p{text-align:center;color:var(--muted);margin:0 0 8px}.login-card .error{color:#9b3f35;background:#faece9;border-radius:8px;padding:10px;font-size:13px}.user-actions{align-items:center;gap:10px;display:flex}.user-actions>span{color:var(--muted);font-size:12px}@media (max-width:700px){.user-actions>span{display:none}}
