.tool-hub{margin:26px 0}.hub-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hub-head h2{font-size:23px}.hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hub-tile{border:1px solid #cfdfdb;border-radius:16px;padding:16px;text-align:left;font:inherit;color:#164b3d;background:linear-gradient(145deg,#fff,var(--tile,#e4f3e9));box-shadow:0 5px 0 #cadfd3;cursor:pointer;transition:.18s}.hub-tile:hover,.hub-tile:focus-visible{background:#c9efdc;transform:translateY(-3px);outline:2px solid #5cac8b}.hub-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#ffffffbc;box-shadow:0 3px 0 #b4cfc4;font-size:23px;margin-bottom:10px}.hub-tile strong{font-size:15px;display:block}.hub-tile small{display:block;font-size:11px;line-height:1.6;margin-top:6px;color:#5b756a}.workspace{background:#fff;border:1px solid #cbded6;border-radius:20px;padding:25px;margin:18px 0}.workspace h1{font-size:26px;margin:10px 0}.workspace .lead{color:#5f786c;font-size:14px}.tool-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.tool-form label{display:block;font-size:14px}.tool-form input,.tool-form select,.tool-form textarea{display:block;box-sizing:border-box;width:100%;margin-top:7px;padding:11px;border:1px solid #bfd8ca;border-radius:10px;font:inherit;color:#204c3b;background:#fbfdfb;box-shadow:none}.tool-form input[type=file]{border:2px dashed #99c5af;padding:22px;background:#f0f8f3;grid-column:1/-1}.full{grid-column:1/-1}.tool-run{border:0;border-radius:12px;padding:13px 20px;background:linear-gradient(135deg,#139d7b,#07664f);box-shadow:0 4px 0 #044b3b;color:white;font:inherit;cursor:pointer}.tool-run:disabled{opacity:.6;cursor:wait}.tool-status{padding:12px 0;font-size:14px;white-space:pre-line}.tool-status.error{color:#a52a25}.tool-output{margin-top:16px}.output-preview{max-width:100%;max-height:360px;object-fit:contain;border:1px solid #d3e5dc;border-radius:12px;background:#f1f5f3}.download-file{display:inline-block;margin:10px 10px 5px 0;padding:12px 17px;border-radius:11px;background:#087558;color:#fff;text-decoration:none}.age-result{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.age-number{padding:22px 10px;background:linear-gradient(145deg,#ebfaf0,#d7e7fa);border-radius:15px;text-align:center;font-size:29px;font-weight:700}.age-number small{font-size:13px;display:block}.tool-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.tool-tab{padding:8px 14px;border:1px solid #bfdbcc;background:#fff;border-radius:20px;font:inherit;font-size:13px;cursor:pointer}.tool-tab.active{background:#087b5b;color:#fff}.table-preview{overflow:auto;max-height:350px}.table-preview table{border-collapse:collapse;font-size:12px}.table-preview td,.table-preview th{border:1px solid #d5e4db;padding:7px;white-space:nowrap}.map-frame{width:100%;height:390px;border:0;border-radius:14px;background:#edf4f0}.office-result{border:1px solid #c8dfd2;border-radius:13px;padding:15px;margin-top:15px}.office-result h3{margin:0 0 8px}.privacy-line{font-size:12px;color:#5b7868;background:#edf7ef;border-radius:10px;padding:10px}.office-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.office-filters select{width:100%;font:inherit;padding:11px;border:1px solid #c7ddcf;border-radius:10px;background:#fff;color:#1a513e;box-shadow:none}.office-filters label{font-size:13px}.office-filters select{margin-top:6px}.office-list{max-height:310px;overflow:auto}.office-pick{display:block;width:100%;text-align:left;font:inherit;color:#1c5943;background:#f1f8f3;border:1px solid #d0e2d5;border-radius:10px;padding:12px;margin:8px 0;cursor:pointer}@media(max-width:760px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hub-tile{padding:13px}.workspace{padding:17px 13px}.workspace h1{font-size:23px}.tool-form,.office-filters{grid-template-columns:1fr 1fr}.tool-form .full{grid-column:1/-1}.age-number{font-size:25px;padding:17px 7px}.hub-head h2{font-size:21px}.map-frame{height:330px}}@media print{#citizenTools,.tool-hub{display:none}}
.pdf-preview{display:block;width:100%;height:480px;border:1px solid #ccdcd2;border-radius:12px;background:#edf3ef;margin:12px 0}
