*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font:14px "Segoe UI",Arial,sans-serif;background:#f3f6fb;color:#0f172a;overflow-x:hidden}header{min-height:70px;background:#123e80;color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.account-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.profile-link{color:#fff;text-decoration:none;font-weight:700}.profile-link:hover{text-decoration:underline}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 70px);width:100%}aside{width:220px;min-width:220px;background:#fff;padding:15px;border-right:1px solid #ddd;position:relative;z-index:2}#app-menu{width:100%}nav a{display:block;width:100%;padding:11px;margin-bottom:4px;border-radius:8px;color:#334155;text-decoration:none;font-weight:600;line-height:1.35;white-space:normal;overflow-wrap:anywhere;transition:background-color .2s ease,color .2s ease}nav a:hover{background:#e8f0ff}nav a.active{background:#dbeafe;color:#123e80}main{width:100%;min-width:0;max-width:100%;padding:22px;overflow:hidden}.card{width:100%;min-width:0;background:#fff;padding:20px;border-radius:14px;margin-bottom:18px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat strong{display:block;margin-top:8px;font-size:28px}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}label{display:block;margin-bottom:5px;font-weight:600}input,select,textarea{width:100%;max-width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font:inherit;background:#fff;color:#0f172a}textarea{resize:vertical}button{padding:10px 14px;border:0;border-radius:8px;background:#1769ff;color:#fff;font-weight:700;cursor:pointer}button:hover{opacity:.95}.secondary{background:#475569}.danger{background:#c62828}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.tablewrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}table{width:100%;max-width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #ddd;text-align:left;vertical-align:middle}th{background:#f8fafc;font-weight:700;white-space:nowrap}td{overflow-wrap:anywhere}tr:hover td{background:#fafcff}.one-time-table{width:max-content;min-width:100%;max-width:none}.one-time-table th,.one-time-table td{white-space:nowrap}.one-time-table th:nth-child(4),.one-time-table td:nth-child(4){min-width:220px;white-space:normal;overflow-wrap:anywhere}.filterbar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.filterbar>div{min-width:180px;flex:1 1 220px}.filterbar>.actions{flex:0 0 auto}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.summary-card strong{display:block;margin-top:5px;font-size:26px}.status-available{color:#166534;font-weight:700}.status-used{color:#1d4ed8;font-weight:700}.status-expired{color:#991b1b;font-weight:700}.notice{padding:10px;margin:8px 0;border-radius:8px;background:#e0f2fe}.error{background:#fee2e2}.login{max-width:430px;margin:9vh auto}.hidden{display:none!important}@media(max-width:1200px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){body{overflow-x:auto}header{flex-direction:column;align-items:flex-start}.layout{grid-template-columns:1fr}aside{width:100%;min-width:0;border-right:0;border-bottom:1px solid #ddd}main{padding:15px}.grid,.form,.summary-grid{grid-template-columns:1fr}.filterbar>div,.filterbar>.actions{flex:1 1 100%;min-width:0}table{font-size:13px}th,td{padding:8px}}
.menu-group{margin:0 0 8px}.menu-group:last-child{margin-bottom:0}
.menu-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px 11px;border-radius:8px;background:#f8fafc;color:#334155;font-size:13px;font-weight:800;line-height:1.4;cursor:pointer;list-style:none;user-select:none}
.menu-group-title::-webkit-details-marker{display:none}
.menu-group-title::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-right:3px;transition:transform .15s ease}
.menu-group[open]>.menu-group-title::after{transform:rotate(225deg)}
.menu-group-title:hover{background:#e8f0ff;color:#123e80}
.menu-group-title:focus-visible{outline:2px solid #1769ff;outline-offset:2px}
.menu-group.has-active-page>.menu-group-title{background:#e8f0ff;color:#123e80}
.menu-group-links{padding:7px 0 2px 8px;margin:4px 0 0 5px;border-left:2px solid #dbe3ef}
#app-menu .menu-group a{font-size:14px}

.month-overview{margin-bottom:24px}.month-overview h2{display:flex;align-items:center;gap:12px;font-size:14px;text-transform:uppercase;color:#64748b;margin:8px 0 20px}.month-overview h2:before{content:"";width:5px;height:24px;background:#087abd;border-radius:3px}.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.month-card{position:relative;border:1px solid #c5e1f7;border-radius:23px;background:linear-gradient(110deg,#fff 45%,#ecf4fa);padding:30px 28px 34px;box-shadow:0 8px 20px #0b6ca00a;overflow:hidden;min-width:0;color:#087abd}.month-card:before{content:"";position:absolute;top:0;left:0;width:84px;height:4px;background:currentColor;border-radius:5px}.month-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.month-card h3{margin:8px 0;color:#64748b;text-transform:uppercase;font-size:14px;line-height:1.5;letter-spacing:1.5px}.month-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:54px;height:54px;border:1px solid #91c9ee;border-radius:17px;background:#d2e8f7;font-size:24px}.month-card strong{display:block;font-size:clamp(28px,2.6vw,46px);line-height:1.25;letter-spacing:-1px;overflow-wrap:anywhere}.month-card p{margin:10px 0 0;color:#64748b;font-size:16px;line-height:1.5}.month-card.green{color:#008260;background:linear-gradient(110deg,#fff 45%,#edf6f3)}.month-card.green .month-icon{border-color:#8ccbbb;background:#d1e8e2}.month-card.dark strong{color:#0f172a}.dashboard-note{font-size:12px;line-height:1.6;color:#64748b;margin:12px 0}#dashboard-message{color:#b91c1c}@media(max-width:1400px){.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.month-grid{grid-template-columns:1fr;gap:14px}.month-card{padding:24px}.month-card strong{font-size:36px}}

.income-summary{margin-bottom:18px}.income-summary .month-card h3{min-height:42px}.income-summary .income-vat{color:#b45309;background:linear-gradient(110deg,#fff 45%,#faf1e9)}#income-message{margin-bottom:15px;color:#b45309}tfoot td,tfoot th{font-weight:700;background:#f1f5f9}
