:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#2b2340;background:#f8f6fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#6544b3}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #cbbbf7;outline-offset:2px}.app-shell{width:min(100%,510px);margin:auto;min-height:100vh;background:#fbfaff;box-shadow:0 0 80px rgba(58,40,110,.065);padding-bottom:calc(96px + env(safe-area-inset-bottom))}.top{padding:calc(20px + env(safe-area-inset-top)) 20px 18px;background:linear-gradient(150deg,#7957cc,#50328f);color:white;border-radius:0 0 30px 30px;min-height:132px}.topline{display:flex;gap:12px;align-items:center}.app-icon{width:46px;height:46px;border-radius:15px;background:#ffffff30;padding:5px;flex-shrink:0}.brand{font-size:21px;font-weight:800;letter-spacing:-.5px}.subbrand{font-size:12px;opacity:.82;margin-top:2px}.avatar{border:1px solid #ffffff60;color:white;background:#ffffff20;min-width:41px;height:41px;border-radius:50%;font-weight:800}.top-actions{margin-left:auto;display:flex;gap:7px}.group-chip{margin-top:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:14px;background:#ffffff21;color:white;border:1px solid #ffffff20;font-size:13px;max-width:100%}.main{padding:18px 17px 14px}.page-title{font-size:23px;font-weight:830;letter-spacing:-.6px;margin:1px 0 5px}.muted{color:#807991;font-size:13px}.muted-sm{color:#807991;font-size:12px}.card{background:#fff;border:1px solid #ece7f5;box-shadow:0 5px 18px #4734790a;border-radius:21px;padding:16px;margin:14px 0}.hero-card{background:linear-gradient(130deg,#efe8ff,#fdf3fa);border-color:#e5d9fa}.card-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}.card-title{font-weight:800;font-size:16px;letter-spacing:-.1px}.section-h{display:flex;align-items:center;justify-content:space-between;margin:22px 0 11px}.section-h h2{font-size:17px;margin:0}.link-btn{background:none;border:0;color:#6444ad;font-size:13px;font-weight:700;padding:5px}.btn{background:#6948b7;color:white;border:0;border-radius:14px;padding:12px 16px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:#f0eafb;color:#6344ab}.btn.outline{background:white;border:1px solid #d8ccec;color:#5e458f}.btn.danger{background:#fff2f2;color:#b13a47}.btn.small{min-height:32px;padding:6px 10px;border-radius:11px;font-size:12px}.btn.full{width:100%}.circle{width:42px;height:42px;border-radius:15px;background:#efeafd;color:#6c4eb9;display:grid;place-items:center;font-size:21px;flex-shrink:0}.circle.pink{background:#ffeef5;color:#ad537b}.circle.green{background:#e6f8f0;color:#36856c}.inline-row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.name{font-weight:760;font-size:14px}.right{text-align:right}.space-between{justify-content:space-between}.bday-list{display:grid;gap:8px}.bday{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #efeaf6;border-radius:16px;padding:12px 11px}.bday .text{min-width:0;flex:1}.bday .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date{color:#7c7690;font-size:12px;margin-top:4px}.days{font-weight:800;font-size:12px;color:#6546b5;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:760;background:#efeafb;color:#7152af}.pill.orange{background:#fff0e1;color:#ad6d28}.pill.green{background:#e5f8ef;color:#297f59}.pill.pink{background:#ffedf3;color:#ab4e73}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.stat{background:#fff;padding:15px 8px;text-align:center;border:1px solid #eee9f8;border-radius:16px}.stat strong{display:block;font-size:22px;color:#674ab4;margin-bottom:3px}.stat span{font-size:10px;color:#807991}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick button{background:#fff;border:1px solid #eee7f6;border-radius:18px;padding:15px 13px;display:flex;gap:10px;align-items:center;text-align:left;color:#352b49;font-weight:700;font-size:13px}.quick .ico{font-size:22px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,510px);z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid #efe9f6;box-shadow:0 -9px 24px #25114709;padding:9px 4px calc(8px + env(safe-area-inset-bottom))}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;color:#9b94a9;padding:5px 0;font-size:10px;font-weight:700}.nav-btn.active{color:#6543b4}.nav-ico{font-size:22px;line-height:24px}.toolbar{display:flex;gap:8px;align-items:center;margin:16px 0}.input,.select,.area{width:100%;border:1px solid #e2dbed;background:white;border-radius:12px;padding:12px 13px;color:#332a48;min-height:44px}.area{resize:vertical;min-height:74px}.input::placeholder,.area::placeholder{color:#a39aaa}.field{display:grid;gap:6px;margin:11px 0}.field label{font-size:12px;font-weight:780;color:#5c536b}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.icon-btn{border:0;background:#f4effa;color:#6c5890;border-radius:11px;height:34px;min-width:34px;display:grid;place-items:center}.empty{text-align:center;padding:35px 20px;color:#837a96;background:#fff;border:1px dashed #e2d8f1;border-radius:18px}.empty .emoji{font-size:35px;margin-bottom:8px}.event-title{font-size:17px;font-weight:800;margin:5px 0}.event-desc{font-size:13px;line-height:1.5;color:#6c6479;margin:8px 0}.event-meta{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}.mini-meta{font-size:12px;color:#746b86;background:#f6f3fa;border-radius:8px;padding:5px 8px}.divider{height:1px;background:#efeaf5;margin:12px 0}.vote-option{display:flex;gap:8px;align-items:center;margin:9px 0;font-size:13px}.progress{height:6px;border-radius:10px;background:#efe8fa;overflow:hidden;flex:1}.progress span{display:block;height:100%;background:#7654c8;border-radius:10px}.comment{background:#f9f6fd;border-radius:12px;padding:10px;margin:8px 0;font-size:13px}.task{display:flex;align-items:center;gap:9px;padding:8px 0;font-size:13px}.task.done{text-decoration:line-through;opacity:.65}.modal-backdrop{position:fixed;inset:0;background:rgba(29,18,53,.52);z-index:50;display:flex;align-items:end;justify-content:center}.modal{background:#fff;max-width:510px;width:100%;border-radius:24px 24px 0 0;max-height:92vh;overflow-y:auto;padding:18px 18px calc(30px + env(safe-area-inset-bottom));box-shadow:0 -20px 45px #10062530}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.modal h3{margin:0;font-size:19px}.toast{position:fixed;z-index:100;bottom:115px;left:50%;transform:translateX(-50%) translateY(30px);background:#33244f;color:white;font-weight:700;box-shadow:0 6px 22px #0002;padding:12px 17px;border-radius:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center;font-size:13px}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.onboard{width:min(100%,480px);min-height:100vh;margin:0 auto;background:#fbfaff;padding:calc(50px + env(safe-area-inset-top)) 20px 30px}.onboard-logo{display:block;width:100px;height:100px;margin:0 auto 17px;filter:drop-shadow(0 12px 22px #7054a543)}.onboard h1{text-align:center;color:#4e348b;font-size:30px;margin:4px 0}.onboard-p{text-align:center;color:#7c748d;font-size:14px;line-height:1.55;margin-bottom:22px}.warning{background:#fff7e9;border:1px solid #f4deb7;color:#7d572a;border-radius:12px;padding:12px;font-size:12px;line-height:1.5;margin:11px 0}.info{background:#f2f0ff;border:1px solid #ded9fa;color:#564498;border-radius:12px;padding:12px;font-size:12px;line-height:1.5;margin:11px 0}.tiny{font-size:11px;color:#8e869c}.tag{font-weight:700;color:#6e50b0}.tabs{display:flex;gap:7px;overflow:auto;padding-bottom:7px}.tab{white-space:nowrap;border:1px solid #e6dcf4;background:#fff;color:#7c708e;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:700}.tab.selected{background:#6a4ab7;color:#fff;border-color:#6a4ab7}.bars{display:grid;gap:8px}.bar{display:flex;align-items:center;gap:9px;font-size:12px}.bar>span:first-child{width:83px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar>span:last-child{font-weight:800}.modal-footer{display:flex;gap:8px;margin-top:17px}.modal-footer>*{flex:1}.install-banner{background:#efebff;border:1px solid #ded5fa;border-radius:14px;padding:11px;font-size:12px;line-height:1.4;margin-top:12px}.subtle-button{border:0;background:none;color:#6441ae;font-size:12px;text-decoration:underline}.screenreader{position:absolute;left:-9999px}@media(min-width:700px){.modal-backdrop{align-items:center}.modal{border-radius:24px;max-height:88vh}.app-shell{min-height:100vh;border-left:1px solid #eee8f4;border-right:1px solid #eee8f4}}@media(prefers-color-scheme:dark){/* Tema kullanıcı tercihi ile ayrıca geliştirilebilir */}

/* Installed web apps use the full screen, including safe-area insets. */
:root {
  color-scheme: light;
  -webkit-text-size-adjust: 100%;
}

body {
  background: linear-gradient(155deg, #efe9fa 0%, #f8f6fc 45%, #f2edf9 100%);
}

.app-shell, .onboard {
  min-height: 100dvh;
}

.top {
  padding-inline: max(20px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-right));
}

.main, .onboard {
  padding-inline: max(17px, env(safe-area-inset-left)) max(17px, env(safe-area-inset-right));
}

.bottom-nav {
  padding-inline: max(4px, env(safe-area-inset-left)) max(4px, env(safe-area-inset-right));
}

.nav-btn, .btn.small, .icon-btn, .tab, .avatar {
  min-height: 44px;
}

.nav-btn {
  min-width: 0;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.nav-btn:not(.active) {
  color: #70667f;
}

.nav-btn.active .nav-ico {
  background: #efe9fb;
  border-radius: 10px;
  padding-inline: 5px;
}

.input, .select, .area {
  min-width: 0;
  font-size: 16px;
}

.toolbar > .btn {
  flex-shrink: 0;
}

.card-title, .event-title, .event-desc, .comment, .task, .subbrand, .group-chip, .info, .warning {
  overflow-wrap: anywhere;
}

.muted, .muted-sm, .tiny {
  color: #6d647d;
}

.modal {
  max-height: 92dvh;
  overscroll-behavior: contain;
  padding-inline: max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));
}

.toast {
  bottom: calc(90px + env(safe-area-inset-bottom));
}

@media (min-width: 700px) {
  .modal { max-height: 88dvh; }
}

@media (max-width: 360px) {
  .main { padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)); }
  .card { padding: 13px; }
  .card-head { flex-wrap: wrap; }
  .nav-ico { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .toast { transition: none; }
}
