:root{--bg:#e7f2ef;--bg-deep:#d7ebe6;--panel:#fff;--text:#0f2d28;--muted:#4f6a65;--accent:#096e5e;--accent-strong:#075347;--accent-soft:#d6ebe7;--border:#c5ddd7;--line:#dcebe7;--shadow:0 16px 38px #07534724;--radius:22px;font-family:Manrope,Noto Sans SC,PingFang SC,sans-serif}*{box-sizing:border-box}html,body{min-height:100vh;margin:0}body{background:radial-gradient(circle at 8% 10%, #f5fbf9 0%, transparent 34%), radial-gradient(circle at 86% 0%, #d6ebe7 0%, transparent 36%), linear-gradient(160deg, var(--bg) 0%, var(--bg-deep) 45%, #d1e5e0 100%);color:var(--text)}button,input,select{font:inherit}button{border:0}a{color:inherit}.inform-route{place-items:center;min-height:100vh;padding:20px;display:grid}.inform-route>.inform-card{width:min(100%,520px)}
.app-modal{z-index:50;background:#041a1775;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.app-modal-dialog{outline:none;width:min(100%,520px);max-height:calc(100vh - 36px);overflow:auto}.app-modal-lg{width:min(100%,760px)}.app-modal-content{background:#fff;border:1px solid #096e5e2e;border-radius:20px;box-shadow:0 24px 60px #032a2447}@media (max-width:640px){.app-modal{padding:10px}.app-modal-content{border-radius:18px}}
:root{--inform-accent:#096e5e;--inform-accent-strong:#075347;--inform-line:#d7e9e5;--inform-text:#173833;--inform-muted:#5d7a74;--inform-soft:#f5faf8}.inform-card{background:#fff;border:1px solid #096e5e29;border-radius:18px;padding:18px}.inform-header{margin-bottom:10px}.inform-title{color:var(--inform-accent-strong);margin:0;font-size:22px}.inform-content{height:260px;color:var(--inform-text);background:var(--inform-soft);border:1px solid var(--inform-line);border-radius:14px;margin:0;padding:12px 14px;font-size:14px;line-height:1.65;overflow:hidden auto}.inform-content p{margin:0 0 10px}.inform-content p:last-child{margin-bottom:0}.inform-content strong{color:var(--inform-accent-strong)}.inform-intro-actions{gap:10px;margin-top:14px;display:grid}.inform-row-btn{border:1px solid var(--inform-line);width:100%;min-height:48px;color:var(--inform-text);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;transition:transform .15s,box-shadow .15s;display:flex}.inform-row-btn:hover{transform:translateY(-1px);box-shadow:0 8px 14px #096e5e1f}.inform-row-left{align-items:center;gap:10px;font-weight:700;display:inline-flex}.inform-row-left input[type=checkbox]{width:16px;height:16px;accent-color:var(--inform-accent)}.inform-status{color:var(--inform-muted);font-size:13px}.inform-status.agreed{color:var(--inform-accent-strong);font-weight:700}.inform-start-btn{color:#889692;cursor:not-allowed;background:#e2e7e5;border:1px solid #d0d9d7;border-radius:12px;height:44px;font-weight:800;transition:all .18s}.inform-start-btn.enabled{border-color:var(--inform-accent);color:#fff;cursor:pointer;background:linear-gradient(#0a7b69 0%,#096e5e 100%)}.inform-start-btn.enabled:hover{transform:translateY(-1px);box-shadow:0 10px 18px #096e5e38}.inform-decision-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.decision-btn{border:1px solid var(--inform-line);cursor:pointer;border-radius:12px;height:42px;font-weight:700}.decision-btn.accept{color:#fff;background:#0a7b69;border-color:#0a7b69}.decision-btn.reject{color:var(--inform-accent-strong);background:#f7faf9}@media (max-width:640px){.inform-title{font-size:20px}.inform-content{height:220px}}
.calendar-page{align-content:center;place-items:center;min-height:min(100vh,720px);padding:24px;display:grid}.calendar-card{background:#fff;border:1px solid #096e5e2e;border-radius:20px;width:min(680px,100%);padding:14px;box-shadow:0 18px 38px #07534729}.calendar-card-dialog{width:100%;box-shadow:none;border:none}.calendar-header{grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;display:grid}.calendar-card-dialog .calendar-header{grid-template-columns:auto 1fr auto auto}.calendar-dialog-title-wrap{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;display:flex}.calendar-dialog-title{color:#075347;margin:0;font-size:20px;line-height:1.2}.calendar-close-btn{color:#075347;cursor:pointer;background:#f4faf8;border:1px solid #cfe2de;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1}.nav-btn,.title-btn,.today-btn,.apply-picker-btn{color:#075347;cursor:pointer;background:#f4faf8;border:1px solid #cfe2de;border-radius:12px;font-weight:700;transition:transform .15s,box-shadow .15s}.nav-btn{width:36px;height:36px}.title-btn{letter-spacing:.2px;background:linear-gradient(#f4faf8 0%,#e8f5f1 100%);width:100%;height:36px;font-size:18px}.today-btn{height:36px;padding:0 12px}.nav-btn:hover,.title-btn:hover,.today-btn:hover,.apply-picker-btn:hover{transform:translateY(-1px);box-shadow:0 8px 14px #096e5e2e}.picker-panel{background:#f7fcfa;border:1px solid #cfe2de;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:10px;display:flex}.picker-panel label{color:#607d77;align-items:center;gap:8px;font-size:14px;display:inline-flex}.picker-panel select{color:#173833;background:#fff;border:1px solid #cfe2de;border-radius:10px;height:34px;padding:0 10px}.apply-picker-btn{color:#fff;background:#096e5e;border-color:#096e5e;height:34px;padding:0 14px}.weekday-row{text-align:center;color:#607d77;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:10px;font-size:13px;font-weight:700;display:grid}.day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.day-cell{aspect-ratio:1/.78;background:#fff;border:1px solid #cfe2de;border-radius:11px;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative}.calendar-card-dialog .day-cell{aspect-ratio:1/.56}.day-cell.empty{background:#f8fcfb;border-style:dashed}.day-btn{width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;border-radius:inherit;background:0 0;border:none}.day-btn:hover{background:#eff8f5}.day-cell.weekend .day-btn,.day-cell.holiday .day-btn{color:#0f3c35;background:#e0f2ee}.day-cell.holiday:after{content:"";background:#2d8b7b;border-radius:999px;width:6px;height:6px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.day-cell.weekend,.day-cell.holiday{border-color:#b9ddd5}.day-cell.selected{background:linear-gradient(#eef8f5 0%,#e4f3ef 100%);border-color:#096e5e;box-shadow:0 8px 16px #096e5e3d}.day-cell.selected .day-btn{background:0 0}.detail-panel{background:#f7fcfa;border:1px solid #cfe2de;border-radius:14px;margin-top:10px;padding:10px}.detail-title{color:#607d77;font-size:13px;font-weight:700}.detail-text{color:#075347;min-height:24px;margin-top:4px;font-size:14px;font-weight:700}@media (max-width:680px){.calendar-page{padding:12px}.calendar-card{padding:10px}.calendar-card-dialog{padding:12px}.title-btn{font-size:16px}.day-cell{border-radius:8px;font-size:12px}.calendar-card-dialog .day-cell{aspect-ratio:1/.72}}
.page{gap:20px;max-width:1120px;margin:0 auto;padding:54px 20px 72px;display:grid}.page>*{animation:.45s both rise-in}.hero{text-align:left}.hero-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.hero h1{letter-spacing:.2px;margin:0 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.05}.hero p{color:var(--muted);max-width:760px;margin:0;font-size:clamp(15px,2vw,18px)}.ios-promo{background:linear-gradient(135deg,#f4fbf9 0%,#e7f5f1 100%);border:1px solid #cde4dd;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:18px;padding:12px 14px;display:grid;box-shadow:0 10px 18px #096e5e14}.ios-app-logo{object-fit:cover;border:1px solid #b8d8d0;border-radius:14px;width:56px;height:56px;box-shadow:0 8px 16px #096e5e29}.ios-title{color:#12473e;font-size:15px;font-weight:800}.ios-sub{color:#53716a;margin-top:2px;font-size:13px}.ios-store-link{border-radius:10px;justify-content:center;align-items:center;transition:transform .16s;display:inline-flex}.ios-store-link:hover{transform:translateY(-1px)}.ios-store-badge{width:120px;height:auto;display:block}.page-link{color:#fff;cursor:pointer;background:linear-gradient(#0a7b69 0%,#096e5e 100%);border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 10px 16px #096e5e33}.page-link:hover,.page-link:focus{color:#fff;transform:translateY(-1px);box-shadow:0 12px 18px #096e5e3d}.panel{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #096e5e24;padding:20px 22px}.calendar-loading{color:var(--accent-strong);text-align:center;padding:28px;font-size:14px;font-weight:700}.dropzone{text-align:center;background:linear-gradient(135deg, #edf8f5, var(--accent-soft));cursor:pointer;border:2px dashed #096e5e6b;border-radius:18px;padding:28px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}.dropzone.dragover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 18px 28px #096e5e38}.dropzone input[type=file]{opacity:0;pointer-events:none;position:absolute;inset:0}.dz-title{color:var(--accent-strong);font-size:19px;font-weight:700}.dz-sub{color:var(--muted);margin-top:6px;font-size:14px}.status{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pill{color:#355852;background:#f2f9f7;border:1px solid #cee2dc;border-radius:999px;padding:7px 12px;font-size:13px}.term-filters{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.term-filter{align-items:center;display:inline-flex;position:relative}.term-filter input{opacity:0;pointer-events:none;position:absolute}.term-chip{color:var(--muted);cursor:pointer;background:#f5faf8;border:1px solid #cfe1dc;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700;transition:all .2s,transform .12s}.term-filter input:checked+.term-chip{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 9px 16px #096e5e42}.term-chip:hover{border-color:#a8cfc6;transform:translateY(-1px)}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:740px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 11px;font-size:14px}th{color:#24524a;letter-spacing:.1px;z-index:1;background:linear-gradient(#f4faf8 0%,#edf7f4 100%);font-weight:800;position:sticky;top:0}tbody tr:nth-child(odd){background:#fbfefd}tbody tr:hover td{background:#f3faf8}.name-cell{vertical-align:top;color:#0f4a40;background:linear-gradient(#f2f9f7 0%,#edf7f4 100%);min-width:148px;font-weight:800}.name-text{text-overflow:ellipsis;white-space:nowrap;max-width:220px;line-height:1.4;display:block;overflow:hidden}.name-id-card{color:#2a7266;letter-spacing:.1px;align-items:center;gap:6px;margin-top:4px;font-size:12px;line-height:1.3;display:flex}.name-id-card-value{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.id-toggle-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.id-toggle-btn:hover{background:#0f4a4014}.id-toggle-icon{object-fit:contain;width:16px;height:16px}.name-meta-pill{border-radius:999px;margin-top:8px;padding:2px 10px;font-size:11px;font-weight:700;line-height:1.6;display:inline-block}.name-meta-pill.official{color:#136f43;background:#e8f8ef;border:1px solid #bdeccf}.name-meta-pill.unofficial{color:#a7212f;background:#fdecee;border:1px solid #f8c3ca}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.page{gap:14px;padding:30px 14px 48px}.hero h1{font-size:29px}.ios-promo{grid-template-columns:1fr;gap:10px;padding:12px}.ios-store-badge{width:142px}.panel{padding:14px}.dropzone{padding:20px 14px}.term-filters{gap:8px}.term-chip{padding:8px 11px;font-size:12px}}
:root{--mobile-bg:#eef6f4;--mobile-bg-deep:#deede9;--mobile-panel:#fff;--mobile-line:#d4e6e1;--mobile-text:#12342f;--mobile-muted:#58756f;--mobile-accent:#0b725f;--mobile-accent-strong:#085446;--mobile-soft:#edf8f5}.mobile-page{gap:12px;width:min(100%,560px);margin:0 auto;padding:18px 12px 26px;display:grid}.mobile-hero h1{margin:0;font-size:24px;line-height:1.15}.mobile-hero p{color:var(--mobile-muted);margin:8px 0 0;font-size:14px;line-height:1.5}.mobile-panel{background:var(--mobile-panel);border:1px solid #0b725f26;border-radius:16px;padding:12px;box-shadow:0 10px 28px #08544617}.mobile-dropzone{background:linear-gradient(135deg, #f4fbf8 0%, var(--mobile-soft) 100%);text-align:center;cursor:pointer;border:1.6px dashed #0b725f7a;border-radius:14px;padding:18px 12px;display:block;position:relative}.mobile-dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.status-wrap{gap:8px;margin-top:10px;display:grid}.status-pill{border:1px solid var(--mobile-line);color:#315852;background:#f4faf8;border-radius:999px;padding:7px 11px;font-size:12px}.result-cards{gap:10px;display:grid}.result-card{border:1px solid var(--mobile-line);background:#fff;border-radius:14px;padding:12px}.result-card h2{color:var(--mobile-accent-strong);margin:0;font-size:17px}.result-card p{color:var(--mobile-muted);margin:8px 0 0;font-size:13px}.person-meta{color:#2e6660;word-break:break-all;margin-top:6px;font-size:12px}.metrics-by-term{gap:12px;margin-top:12px;display:grid}.metric-section{background:#f8fcfb;border:1px solid #dbeae6;border-radius:12px;padding:10px}.metric-section h3{justify-content:space-between;align-items:baseline;gap:10px;margin:0;font-size:13px;font-weight:800;display:flex}.metric-title{color:var(--mobile-accent-strong)}.metric-total{color:#2a6a61;white-space:nowrap;font-size:12px}.metric-term-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.metric-term-row{background:#fff;border:1px solid #dceae7;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px;font-size:13px;display:flex}.metric-term-row .term{color:var(--mobile-muted)}.metric-term-row .value{color:var(--mobile-accent-strong);font-weight:800}.badge{border-radius:999px;margin-top:8px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge.official{color:#146f44;background:#e8f8ef;border:1px solid #bdeccb}.badge.unofficial{color:#aa2431;background:#fdecef;border:1px solid #f6c5cb}.result-card.empty{text-align:center;background:#fbfefd}
.editor-page{gap:18px;max-width:1160px;margin:0 auto;padding:46px 20px 70px;display:grid}.editor-panel-card{box-shadow:var(--shadow);background:#fff;border:1px solid #096e5e24;border-radius:20px;padding:18px 20px}.editor-hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.editor-hero h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.06}.editor-hero p{color:var(--muted);margin:8px 0 0;font-size:15px}.toolbar-panel{gap:12px;display:grid}.toolbar{flex-wrap:wrap;gap:10px;display:flex}.editor-btn,.term-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;height:36px;padding:0 14px;font-size:13px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s}.editor-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.editor-btn.primary{color:#fff;background:linear-gradient(#0a7b69 0%,#096e5e 100%);box-shadow:0 10px 16px #096e5e33}.editor-btn.secondary,.term-btn{color:var(--accent-strong);background:linear-gradient(#f8fcfa 0%,#f0f8f5 100%);border-color:#c8dfd9}.term-loaders{gap:8px;display:grid}.term-loaders-title{color:var(--muted);font-size:13px;font-weight:700}.term-buttons{flex-wrap:wrap;gap:8px;display:flex}.term-btn{border-radius:999px;height:34px;padding:0 12px;font-size:12px}.term-btn.active{color:#fff;background:linear-gradient(#0a7b69 0%,#096e5e 100%);border-color:#096e5e}.editor-pill{color:#355852;background:#f2f9f7;border:1px solid #cee2dc;border-radius:999px;align-items:center;width:fit-content;padding:7px 12px;font-size:13px;display:inline-flex}.status-error{color:#7a2a2a;background:#fef3f3;border-color:#f3c6c6}.status-ok{color:#23534a;background:#edf8f5;border-color:#cde2dc}.status-pending{color:#45625d}.validation-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.validation-head h2{margin:0;font-size:18px}.error-list{max-height:260px;color:var(--text);margin:10px 0 0;padding-left:20px;overflow:auto}.error-list li{margin:6px 0;line-height:1.35}.error-list .ok{color:var(--accent-strong);margin-left:-20px;font-weight:700;list-style:none}.error-list .error-item{color:#c03f3f}.editor-holder-panel{padding:10px}.editor-holder{color:var(--text)}.editor-holder h3,.editor-holder h4,.editor-holder label{color:var(--accent-strong)}.editor-holder input,.editor-holder select,.editor-holder textarea{min-height:34px;color:var(--text);background:#fff;border:1px solid #c8dfd9;border-radius:9px;padding:6px 9px}.editor-holder input:focus,.editor-holder select:focus,.editor-holder textarea:focus{border-color:#096e5e;outline:3px solid #096e5e33}.editor-holder button{min-height:30px;color:var(--accent-strong);cursor:pointer;background:#f4faf8;border:1px solid #c8dfd9;border-radius:9px;font-weight:700}.editor-holder table{border-collapse:collapse;width:100%}.editor-holder table th,.editor-holder table td{vertical-align:middle;border:1px solid #dcebe7;padding:8px}.editor-holder table th{background:#edf7f4}.editor-holder .je-object__title{color:var(--accent-strong)}
