:root{--bg:#171819;--surface:#202122;--surface-2:#272829;--line:#353638;--ink:#f1f2f3;--muted:#a5a7ab;--accent:#00dba7;--danger:#ff9696}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}nav{height:60px;background:#101112;border-bottom:1px solid var(--line);display:flex;gap:22px;align-items:center;padding:0 28px}nav a{color:var(--muted);text-decoration:none;font-weight:600}nav a:hover,.brand{color:var(--accent)}.brand{font-weight:800;margin-right:15px}.right{margin-left:auto}.container{width:100%;max-width:none;margin:36px auto;padding:0 28px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.card,.form,.grid section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}.card{width:min(100%,420px)}h1{font-size:30px;letter-spacing:-.035em;margin:0;color:#fff}h2{font-size:18px;margin:25px 0 12px;color:#fff}p,small{color:var(--muted)}label{display:block;font-weight:650;margin:13px 0 0;color:#dedfe1}input,textarea,select{font:inherit;color:var(--ink);border:1px solid #45474a;border-radius:7px;width:100%;padding:9px 10px;margin-top:5px;background:#191a1b}input:focus,textarea:focus,select:focus{outline:2px solid #00dba766;border-color:var(--accent)}textarea{min-height:85px;resize:vertical}button,.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:8px;background:var(--accent);color:#06261d;font:inherit;font-weight:800;padding:10px 14px;margin-top:18px;cursor:pointer;text-decoration:none}.button:hover,button:hover{background:#36ebbf}.title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.search{display:flex;gap:8px;margin-bottom:16px}.search input,.search button{margin:0}.list{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.list a{display:flex;justify-content:space-between;gap:20px;color:var(--ink);padding:14px 16px;text-decoration:none;border-bottom:1px solid var(--line)}.list a:hover{background:var(--surface-2)}.list a:last-child{border:0}.list span,.stats span{color:var(--muted);font-size:14px}.grid,.stats{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid article{border-bottom:1px solid var(--line);padding:10px 0}.mini{margin-top:14px}.mini input,.mini select{margin-bottom:4px}.mini button{margin-top:5px}.stats{grid-template-columns:repeat(3,1fr);gap:15px}.stats div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px}.stats b{display:block;font-size:28px;color:var(--accent)}.flash,.error{background:#143e32;border:1px solid #246c58;color:#9df0d2;padding:10px 12px;border-radius:7px}.error{background:#472727;border-color:#754141;color:#ffb5b5}.notes{background:var(--surface);border-left:3px solid var(--accent);padding:10px 14px}.badge{float:right;background:#173b31;color:#91e7ca;padding:2px 7px;border-radius:12px;font-size:12px}.project .progress{height:7px;background:#393a3c;border-radius:8px;margin:10px 0 5px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent)}.compact{display:grid;grid-template-columns:1.1fr 70px 1.5fr auto;gap:5px;margin-top:9px}.compact input,.compact select,.compact button{margin:0}.compact button{padding:8px}.filters{display:flex;gap:8px;margin:0 0 16px}.filters a{background:#2a2c2e;color:#c0c3c5;text-decoration:none;padding:6px 12px;border:1px solid #393b3e;border-radius:7px;font-size:14px;font-weight:700}.filters a:hover{border-color:var(--accent);color:var(--accent)}.table-wrap{width:100%;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:var(--surface);box-shadow:0 10px 30px #0004}.table-wrap table{width:100%;table-layout:fixed;border-collapse:collapse;color:#eeeeef;font-size:14px}.table-wrap th,.table-wrap td{padding:13px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-wrap th:last-child,.table-wrap td:last-child{border-right:0}.table-wrap tr:last-child td{border-bottom:0}.table-wrap th{background:#272829;color:#aaacae;font-size:11px;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.table-wrap th:nth-child(1){width:14%}.table-wrap th:nth-child(2){width:5%}.table-wrap th:nth-child(3){width:15%}.table-wrap th:nth-child(4),.table-wrap th:nth-child(5),.table-wrap th:nth-child(10){width:8%}.table-wrap th:nth-child(6){width:10%}.table-wrap th:nth-child(7){width:8%}.table-wrap th:nth-child(8),.table-wrap th:nth-child(9){width:6%}.table-wrap th:nth-child(11){width:10%}.table-wrap tbody tr{transition:background .15s}.table-wrap tbody tr:hover{background:#292b2c}.table-wrap td a{color:#f2f3f5;font-weight:700;text-decoration:none}.table-wrap td a:hover{color:var(--accent)}.table-wrap td small{display:block;color:#999b9f;margin-top:2px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.table-wrap .amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.pill{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid;border-radius:6px;font-size:12px;font-weight:750}.pill.yes{background:#173b31;border-color:#285a48;color:#8ee0bb}.pill.no{background:#3a2527;border-color:#664247;color:#ffaaa9}.row-actions{display:flex;align-items:center;gap:5px}.row-actions form{display:contents}.icon-button{width:30px;height:30px;margin:0;padding:0;background:#303234;color:#d9dcdf;border:1px solid #46494c;border-radius:6px}.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{background:#173b31;border-color:var(--accent);color:var(--accent)}.icon-button.danger:hover{background:#42282a;border-color:var(--danger);color:var(--danger)}@media(max-width:850px){.table-wrap{overflow:auto}.table-wrap table{min-width:1110px;table-layout:auto}.table-wrap th,.table-wrap td{overflow:visible}.container{padding:0 20px}}@media(max-width:650px){nav{padding:0 15px;gap:12px}.brand{margin-right:0}.container{margin:24px auto}.grid,.stats,.compact{grid-template-columns:1fr}.title{align-items:flex-start}.list a{display:block}.list a span{display:block;margin-top:3px}.table-wrap{margin:0 -20px;border-radius:0;border-left:0;border-right:0}.filters{overflow:auto}.check input{width:auto;margin-right:8px}}
