:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#16202a;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;min-width:100%;min-height:100%}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:250px;height:100vh;padding:24px 18px;background:#10241d;color:#fff;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}.brand-mark{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#74a84d;font-size:25px;font-weight:900}.brand strong{display:block;font-size:25px;letter-spacing:1px}.brand small{color:#a8b7b0}.sidebar nav{display:grid;gap:8px}.nav-button{border:0;border-radius:11px;padding:13px 14px;color:#d8e2dd;background:transparent;text-align:left;font-weight:650}.nav-button:hover,.nav-button.active{background:#74a84d;color:#fff}.sidebar-user{margin-top:auto;padding:15px;border-radius:13px;background:#ffffff14}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user span{color:#b8c8c0;font-size:13px;margin:5px 0 12px}.sidebar-user button{border:0;background:transparent;color:#fff;padding:0;text-decoration:underline}.main{flex:1;min-width:0;padding:28px}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.page-header h1{margin:0 0 6px;font-size:29px}.page-header p{margin:0;color:#66737d}.date-badge{padding:11px 14px;background:#fff;border-radius:12px;box-shadow:0 4px 14px #1f2d2612}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:13px;margin-bottom:18px}.summary-card{padding:17px;background:#fff;border-radius:14px;border-top:5px solid #3485db;box-shadow:0 5px 18px #1f2d2612}.summary-card span{color:#68757e;font-size:13px}.summary-card strong{display:block;margin-top:7px;font-size:29px}.summary-card.green{border-top-color:#69a84b}.summary-card.gray{border-top-color:#c7cdd2}.summary-card.red{border-top-color:#dc3e42}.summary-card.orange{border-top-color:#ee9c32}.summary-card.owner{border-top-color:#438be3}.legend{display:flex;flex-wrap:wrap;gap:20px;padding:14px 17px;margin-bottom:20px;background:#fff;border-radius:13px;box-shadow:0 4px 15px #1f2d260f}.legend div{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650}.legend-color{width:17px;height:17px;border-radius:4px;border:1px solid #778089}.legend-color.empty,.apartment-tile.empty{background:#fff}.legend-color.occupied,.apartment-tile.occupied{background:#70aa4d;color:#fff}.legend-color.tomorrow,.apartment-tile.tomorrow{background:#d9343a;color:#fff}.legend-color.overdue,.apartment-tile.overdue{background:#ef9b2f;color:#fff}.legend-color.owner,.apartment-tile.owner{background:#3f88df;color:#fff}.section-panel{margin-bottom:24px;padding:16px;border-radius:15px;background:#fff;box-shadow:0 5px 18px #1f2d2612}.section-panel>h2{margin:-16px -16px 17px;padding:12px 16px;text-align:center;background:#f2dd18;border-radius:15px 15px 0 0;font-size:21px}.blocks-grid{display:grid;grid-template-columns:repeat(2,minmax(350px,1fr));gap:24px}.block-panel h3{margin:0 auto 10px;width:max-content;padding:4px 28px;border:2px solid #29333b;font-size:19px}.apartments-grid{display:grid;grid-template-columns:repeat(8,minmax(38px,1fr));gap:3px}.apartment-tile{min-height:44px;border:1.5px solid #374049;border-radius:2px;font-size:18px;font-weight:850;transition:transform .13s,box-shadow .13s}.apartment-tile:hover{transform:scale(1.07);box-shadow:0 5px 12px #0000002e;z-index:2}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;padding:20px;background:#081410ad;display:grid;place-items:center}.modal-card{position:relative;width:min(680px,100%);max-height:90vh;overflow-y:auto;padding:25px;background:#fff;border-radius:18px;box-shadow:0 24px 80px #0000004d}.modal-card.large{width:min(760px,100%)}.modal-card h2{margin-top:0;padding-right:42px}.modal-x{position:absolute;top:13px;right:15px;width:34px;height:34px;border:0;border-radius:50%;font-size:24px;background:#edf0f2}.status-pill{display:inline-block;margin-bottom:18px;padding:7px 12px;border-radius:999px;font-weight:750}.status-pill.empty{background:#e9edef}.status-pill.occupied{background:#dff3d3;color:#31691f}.status-pill.tomorrow{background:#fee0e1;color:#a91e23}.status-pill.overdue{background:#ffead1;color:#99570b}.status-pill.owner{background:#dcecff;color:#195ba8}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0 20px}.detail-box{padding:12px;border-radius:11px;background:#f5f7f8}.detail-box span,.detail-box strong{display:block}.detail-box span{color:#6c7880;font-size:12px;margin-bottom:4px}.guest-cards{display:grid;gap:10px}.guest-card{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px;border:1px solid #e0e5e3;border-radius:12px}.guest-card strong,.guest-card span{display:block}.guest-card span{margin-top:3px;color:#67737c;font-size:13px}.guest-card a,.archive-guest a{padding:8px 11px;border-radius:8px;background:#265fa3;color:#fff;text-decoration:none;white-space:nowrap}.login-page{min-height:100vh;padding:20px;display:grid;place-items:center;background:radial-gradient(circle at top left,#8bb663 0,#254936 36%,#0e211a)}.login-card{width:min(420px,100%);padding:33px;background:#fff;border-radius:22px;box-shadow:0 30px 90px #00000059}.login-logo{font-size:42px;font-weight:900;color:#315c43;letter-spacing:4px}.login-card h1{margin-bottom:4px}.login-card p{color:#6b7871;margin-top:0;margin-bottom:24px}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#46524c}input,select{width:100%;padding:11px 12px;border:1px solid #cfd7d3;border-radius:9px;background:#fff;color:#17231d}.primary-button,.secondary-button,.danger-button{border:0;border-radius:9px;padding:10px 14px;font-weight:750}.primary-button{background:#315f44;color:#fff}.secondary-button{background:#e5ecf5;color:#245486}.danger-button{background:#cf353b;color:#fff}button:disabled{opacity:.55;cursor:not-allowed}.login-card .primary-button{width:100%;margin-top:18px;padding:12px}.demo-info{margin-top:17px;font-size:12px;color:#78837d;line-height:1.5}.error-box,.page-message{padding:12px 14px;border-radius:10px;margin:13px 0}.error-box,.page-message.error{background:#ffe2e2;color:#9a2024}.page-message.success{background:#e2f4d8;color:#326b21}.page-message.info{background:#fff;color:#56635c}.tab-row{display:flex;gap:8px;margin-bottom:17px}.tab{border:0;border-radius:9px;padding:10px 14px;background:#dfe5e2}.tab.active{background:#315f44;color:#fff}.form-card,.table-card{margin-bottom:22px;padding:20px;border-radius:15px;background:#fff;box-shadow:0 5px 18px #1f2d2612}.form-card.compact{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:17px}.guest-form-list{margin:18px 0}.guest-form{margin-bottom:13px;padding:15px;border-radius:12px;background:#f5f7f6}.guest-form h4{margin-top:0}.file-label{grid-column:span 2}.table-card{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid #e3e8e5;text-align:left;vertical-align:middle}th{background:#eaf0ed;color:#44534b;font-size:13px}td{font-size:14px}.toolbar{margin-bottom:15px}.toolbar input{max-width:430px}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.archive-card{padding:18px;background:#fff;border-radius:15px;box-shadow:0 5px 18px #1f2d2612}.archive-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.archive-head strong{color:#315f44}.archive-guest{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #e4e8e6}.archive-card small{display:block;margin-top:12px;color:#727e78}.muted{color:#6c7771}@media(max-width:1250px){.summary-grid{grid-template-columns:repeat(3,1fr)}.blocks-grid{grid-template-columns:1fr}}@media(max-width:850px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-user{margin-top:20px}.main{padding:16px}.page-header{align-items:flex-start;flex-direction:column}.summary-grid,.form-grid,.archive-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.summary-grid,.form-grid,.archive-grid,.details-grid{grid-template-columns:1fr}.apartments-grid{grid-template-columns:repeat(5,1fr)}.file-label{grid-column:auto}.guest-card{align-items:flex-start;flex-direction:column}}
